<!-- 自动化实验-模板创建任务-新增或编辑模板信息-->
<template>
  <div class="main-app" v-loading="loading">
    <el-breadcrumb separator-class="el-icon-arrow-right" style="margin-top: 5px; margin-bottom: 15px;">
      <el-breadcrumb-item :to="{path:'/'}">{{$t('common.nav.home')}}</el-breadcrumb-item>
      <el-breadcrumb-item>{{$t('common.nav.automationExperiment')}}</el-breadcrumb-item>
      <el-breadcrumb-item>{{$t('common.nav.templateCreateTask')}}</el-breadcrumb-item>
    </el-breadcrumb>
    <el-row :gutter="10">
      <!-- 组件库区 -->
      <el-col :span="5">
        <el-card shadow="hover" class="box-card" style="height: 88vh; overflow-y: scroll;">
          <div class="titie-bar"><span>{{$t('common.title.componentLibrary')}}</span></div>
          <div style="font-size: 14px;padding-top: 6px;text-align: center;">
            <el-switch
              v-model="expandAllAssembly"
              @change="changeExpandAllAssembly"
              :inactive-text="$t('common.label.foldAllPanal')"
              :active-text="$t('common.label.expandAllPanal')"
            ></el-switch>
          </div>
          <el-collapse v-model="activeAssemblyNames" style="margin-top: 15px;">
            <el-collapse-item v-for="item in assemblyData" :key="item.groupName" :label="item.groupName"
              :title="languages === 'zh_CN' ? item.groupName : item.groupEnName"
              :name="item.groupName"
            >
              <el-row :gutter="5">
                <el-col v-for="node in item.node" :key="node.title" :label="node.title" :value="node.title" :span="12">
                  <div draggable="true"
                    @drag="menuDrag('otherImage', {
                      tag: node.title,
                      label: languages === 'zh_CN' ? node.title : node.title_En,
                      xlinkHref: require('../../../assets/icon'+node.imgSrc)
                    })" class="assembly-main">
                    <img :src="require('../../../assets/icon'+node.imgSrc)">
                    <div>{{languages === 'zh_CN' ? node.title : node.title_En}}</div>
                  </div>
                </el-col>
              </el-row>
            </el-collapse-item>
          </el-collapse>
        </el-card>
      </el-col>
      <!-- 组件编辑区 -->
      <el-col :span="14">
        <el-card shadow="hover" class="box-card" style="height: 88vh; overflow: auto;">
          <div class="antv-content">
            <div class="antv-wrapper" v-loading="loading_expProcessOverview">
              <div class="wrapper-canvas" :style="{height: height}" id="wrapper" @drop="drop($event)" @dragover.prevent></div>
              <div class="wrapper-tips">
                <div class="wrapper-tips-item">
                  <el-switch v-model="isPortsShow" @change="changePortsShow"></el-switch>
                  <span>{{$t('common.label.isPortsShow')}}{{isPortsShow === false ? $t('common.label.close') : $t('common.label.open')}}</span>
                </div>
                <div class="wrapper-tips-item" style="margin-left: 20px;">
                  <el-switch v-model="autoLayoutMode" @change="changeAutoLayoutMode"></el-switch>
                  <span>{{$t('common.label.autoLayoutMode')}}: {{autoLayoutMode === false ? $t('common.label.singleTask') : $t('common.label.iterationOptimizeTask')}}</span>
                </div>
              </div>
            </div>
            <!-- 组件基本信息编辑区 -->
            <el-drawer title="" direction="rtl" :visible.sync="editDrawer">
              <div v-if="editDrawer" class="edit-main">
                <div class="edit-main-title">
                  <h3>{{editTitle}}</h3>
                  <i class="el-icon-close" @click="closeEditForm"></i>
                </div>
                <div v-if="editTitle === $t('common.label.editNode')" class="form-main">
                  <el-form ref="nodeForm" :model="form" label-width="80px">
                    <el-form-item :label="$t('common.label.nodeText')">
                      <el-input v-model="form.labelText" size="small" @input="changeNode('labelText', form.labelText)"></el-input>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.fontSize')">
                      <el-input v-model="form.fontSize" size="small" @input="changeNode('fontSize', form.fontSize)"></el-input>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.fontColor')">
                      <el-color-picker v-model="form.fontFill" @change="changeNode('fontFill', form.fontFill)"></el-color-picker>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.nodeBackground')">
                      <el-color-picker v-model="form.fill" @change="changeNode('fill', form.fill)"></el-color-picker>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.borderColor')">
                      <el-color-picker v-model="form.stroke" @change="changeNode('stroke', form.stroke)"></el-color-picker>
                    </el-form-item>
                     <div class="see-box">
                        <h5>{{$t('common.label.preview')}}</h5>
                        <div class="see-item" :style="{ 'background': form.fill, 'color': form.fontFill, 'border-color': form.stroke, 'font-size': form.fontSize + 'px' }">{{form.labelText}}</div>
                      </div>
                  </el-form>
                </div>
                <div v-if="editTitle === $t('common.label.editImgNode')" class="form-main">
                  <el-form ref="imageForm" :model="form" label-width="80px">
                    <el-form-item :label="$t('common.label.nodeText')">
                      <el-input v-model="form.labelText" size="small" @input="changeImageNode('labelText', form.labelText)"></el-input>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.fontColor')">
                      <el-color-picker v-model="form.labelFill" @change="changeImageNode('labelFill', form.labelFill)"></el-color-picker>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.nodeBackground')">
                      <el-color-picker v-model="form.fill" @change="changeImageNode('fill', form.fill)"></el-color-picker>
                    </el-form-item>
                    <!-- <el-form-item label="图片地址">
                      <el-input v-model="form.xlinkHref" size="small" placeholder="图片地址" @input="changeImageNode('xlinkHref', form.xlinkHref)"></el-input>
                      <el-image :src="form.xlinkHref" style="width: 80px; height: 80px; background: #f2f2f2" fit="fill"></el-image>
                    </el-form-item>
                    <el-form-item label="图片尺寸">
                      <div><span style="font-size: 14px; padding-right: 5px; color: #888;">宽</span><el-input-number v-model="form.width" :min="0" label="宽" size="mini" @change="changeImageNode('width', form.width)"></el-input-number></div>
                      <div><span style="font-size: 14px; padding-right: 5px; color: #888;">高</span><el-input-number v-model="form.height" :min="0" label="高" size="mini" @change="changeImageNode('height', form.height)"></el-input-number></div>
                    </el-form-item> -->
                  </el-form>
                </div>
                <div v-if="editTitle === $t('common.label.editConnection')" class="form-main">
                  <el-form ref="edgeForm" :model="form" label-width="80px">
                    <el-form-item :label="$t('common.label.labelContent')">
                      <el-input v-model="form.label" size="small" :placeholder="$t('common.placeholder.labelText')" @input="changeEdgeLabel(form.label, labelForm.fontColor, labelForm.fill, labelForm.stroke)"></el-input>
                      <div v-if="form.label" class="label-style">
                        <p>{{$t('common.label.fontColor')}}：<el-color-picker v-model="labelForm.fontColor" size="mini" @change="changeEdgeLabel(form.label, labelForm.fontColor, labelForm.fill, labelForm.stroke)"></el-color-picker></p>
                        <p>{{$t('common.label.backgroundColor')}}：<el-color-picker v-model="labelForm.fill" size="mini" @change="changeEdgeLabel(form.label, labelForm.fontColor, labelForm.fill, labelForm.stroke)"></el-color-picker></p>
                        <p>{{$t('common.label.strokeColor')}}：<el-color-picker v-model="labelForm.stroke" size="mini" @change="changeEdgeLabel(form.label, labelForm.fontColor, labelForm.fill, labelForm.stroke)"></el-color-picker></p>
                      </div>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.lineColor')">
                      <el-color-picker v-model="form.stroke" size="small" @change="changeEdgeStroke"></el-color-picker>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.lineStyle')">
                      <el-select v-model="form.connector" size="small" :placeholder="$t('common.placeholder.pleaseSelect')" @change="changeEdgeConnector">
                        <el-option :label="$t('common.label.rightAngle')" value="normal"></el-option>
                        <el-option :label="$t('common.label.roundedAngle')" value="rounded"></el-option>
                        <el-option :label="$t('common.label.smooth')" value="smooth"></el-option>
                        <el-option :label="$t('common.label.jumpover')" value="jumpover"></el-option>
                      </el-select>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.lineWidth')">
                      <el-input-number v-model="form.strokeWidth" size="small" @change="changeEdgeStrokeWidth" :min="2" :step="2" :max="6" label="线条宽度"></el-input-number>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.doubleArrows')">
                      <el-switch v-model="form.isArrows" @change="changeEdgeArrows"></el-switch>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.flowingLines')">
                      <el-switch v-model="form.isAnit" @change="changeEdgeAnit"></el-switch>
                    </el-form-item>
                    <el-form-item :label="$t('common.label.adjustingLines')">
                      <el-switch v-model="form.isTools" @change="changeEdgeTools"></el-switch>
                    </el-form-item>
                  </el-form>
                </div>
                <div class="edit-btn">
                  <el-button type="danger" @click="handlerDel" style="width:100%">{{$t('common.button.delNode')}}</el-button>
                </div>
              </div>
            </el-drawer>
          </div>
        </el-card>
      </el-col>
      <!-- 基本信息编辑区 -->
      <el-col :span="5">
        <el-card shadow="hover" class="box-card" style="height: 88vh; overflow: auto;">
          <div class="titie-bar"><span>{{$t('common.title.basicInformation')}}</span></div>
          <div style="padding: 10px;">
            <el-form ref="form" :model="basicform" :rules="rules" label-position="top">
              <el-form-item :label="$t('common.label.expTemplateAuth')+':'" required>
                <el-select v-model="basicform.type" :placeholder="$t('common.placeholder.pleaseSelect')" style="width: 100%">
                  <el-option :label="$t('common.label.public')" value="10" />
                  <el-option :label="$t('common.label.private')" value="20" />
                </el-select>
              </el-form-item>
              <el-form-item :label="$t('common.label.expType')+':'" required>
                <el-select v-model="basicform.taskType" :placeholder="$t('common.placeholder.pleaseSelect')" style="width: 100%" @change="expTemplateChange">
                  <el-option :label="$t('common.label.singleTask')" value="10" />
                  <el-option :label="$t('common.label.parallelTask')" value="20" />
                  <el-option :label="$t('common.label.iterationOptimizeTask')" value="30" />
                </el-select>
              </el-form-item>
              <el-form-item :label="$t('common.label.expTemplateName')+':'" prop="templateName" required>
                <el-input v-model="basicform.templateName" />
              </el-form-item>
              <el-form-item :label="$t('common.label.expNumber')+':'" prop="number" required>
                <el-input v-model="basicform.number" />
              </el-form-item>
              <el-form-item :label="$t('common.label.expectedWorkingHours')+':'" prop="expectedWorkingHours" required>
                <el-input type="number" v-model="basicform.expectedWorkingHours" disabled />
              </el-form-item>
            </el-form>
          </div>
          <div class="wrapper-btn" v-if="loading_expProcessOverview === false">
            <el-row>
              <el-button type="primary" @click="handlerSend">{{$t('common.button.save')}}</el-button>
            </el-row>
            <el-row style="margin-top: 10px;">
              <el-button type="primary" plain @click="refresh">{{$t('common.button.clearEditingArea')}}</el-button>
            </el-row>
            <el-row style="margin-top: 10px;">
              <el-button @click="cancel">{{$t('common.button.back')}}</el-button>
            </el-row>
          </div>
        </el-card>
      </el-col>
    </el-row>

    <!-- 基本信息提示框-选择任务类型 -->
    <el-dialog :title="$t('common.title.selTaskType')" width="30%" :visible.sync="dialogVisibleConfig.selTempType">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.dialog.tip')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 100px; font-size: 18px; text-align:center;">
          <span style="margin-right: 5px;">{{$t('common.label.selTempType')}}：</span>
          <el-radio v-model="dialogForm.selTempType.taskType" label="10">{{$t('common.label.singleTask')}}</el-radio>
          <el-radio v-model="dialogForm.selTempType.taskType" label="20">{{$t('common.label.parallelTask')}}</el-radio>
          <el-radio v-model="dialogForm.selTempType.taskType" label="30">{{$t('common.label.iterationOptimizeTask')}}</el-radio>
        </div>
        <el-button @click="dialogVisibleConfig.selTempType=false">{{$t('common.button.cancel')}}</el-button>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.saveCombineReplace')" placement="top">
          <el-button type="primary" @click="handlerSelExpTemplate()">{{$t('common.button.determine')}}</el-button>
        </el-tooltip>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑贝叶斯优化参数 -->
    <el-dialog :title="$t('common.title.editConfig_BYSYH')" width="40%" :visible.sync="dialogVisibleConfig.edit_BYSYH">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_BYSYH')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <!-- <el-empty :image-size="180" description="此组件暂无可配置参数"></el-empty> -->
          <el-form :model="dialogForm.edit_BYSYH" ref="dialogForm.edit_BYSYH" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_BYSYH.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_BYSYH=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_BYSYH=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_BYSYH=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑复合机器人参数 -->
    <el-dialog :title="$t('common.title.editConfig_FHJQR')" width="40%" :visible.sync="dialogVisibleConfig.edit_FHJQR">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_FHJQR')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <el-form :model="dialogForm.edit_FHJQR" ref="dialogForm.edit_FHJQR" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_FHJQR.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_FHJQR=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_FHJQR=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_FHJQR=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑反应釜开盖机参数 -->
    <el-dialog :title="$t('common.title.editConfig_KGJ')" width="40%" :visible.sync="dialogVisibleConfig.edit_KGJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_KGJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <el-form :model="dialogForm.edit_KGJ" ref="dialogForm.edit_KGJ" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_KGJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.operate')">
              <el-select v-model="dialogForm.edit_KGJ.operate" :placeholder="$t('common.placeholder.selOperate')" style="width: 90%;">
                <el-option :label="$t('common.label.openCover')" :value="0"></el-option>
                <el-option :label="$t('common.label.lockCover')" :value="1"></el-option>
              </el-select>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_KGJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_KGJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_KGJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑试管开盖机参数 -->
    <el-dialog :title="$t('common.title.editConfig_KGJ2')" width="40%" :visible.sync="dialogVisibleConfig.edit_KGJ2">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_KGJ2')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <el-form :model="dialogForm.edit_KGJ2" ref="dialogForm.edit_KGJ2" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_KGJ2.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.operate')">
              <el-select v-model="dialogForm.edit_KGJ2.operate" :placeholder="$t('common.placeholder.selOperate')" style="width: 90%;">
                <el-option :label="$t('common.label.openCover')" :value="0"></el-option>
                <el-option :label="$t('common.label.lockCover')" :value="1"></el-option>
              </el-select>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_KGJ2=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_KGJ2=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_KGJ2=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑物料定位台参数 -->
    <el-dialog :title="$t('common.title.editConfig_WLDWT')" width="40%" :visible.sync="dialogVisibleConfig.edit_WLDWT">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_WLDWT')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <!-- <el-empty :image-size="180" description="此组件暂无可配置参数"></el-empty> -->
          <el-form :model="dialogForm.edit_WLDWT" ref="dialogForm.edit_WLDWT" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_WLDWT.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.selContainer')">
              <el-select v-model="dialogForm.edit_WLDWT.selContainer" :placeholder="$t('common.placeholder.pleaseSelect')" style="width: 90%;">
                <el-option :label="$t('common.label.expContainer1')" :value="1"></el-option>
                <el-option :label="$t('common.label.expContainer2')" :value="2"></el-option>
                <el-option :label="$t('common.label.expContainer3')" :value="3"></el-option>
                <el-option :label="$t('common.label.expContainer4')" :value="4"></el-option>
                <el-option :label="$t('common.label.expContainer5')" :value="5"></el-option>
                <el-option :label="$t('common.label.expContainer6')" :value="6"></el-option>
                <el-option :label="$t('common.label.expContainer7')" :value="7"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item :label="$t('common.label.demandAmount')">
              <el-input v-model="dialogForm.edit_WLDWT.demandAmount" :placeholder="$t('common.placeholder.demandAmount')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_WLDWT=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_WLDWT=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_WLDWT=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑精密天平参数 -->
    <el-dialog :title="$t('common.title.editConfig_JMTP')" width="40%" :visible.sync="dialogVisibleConfig.edit_JMTP">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_JMTP')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <!-- <el-empty :image-size="180" description="此组件暂无可配置参数"></el-empty> -->
          <el-form :model="dialogForm.edit_JMTP" ref="dialogForm.edit_JMTP" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_JMTP.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_JMTP=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_JMTP=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_JMTP=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑超声波清洗机参数 -->
    <el-dialog :title="$t('common.title.editConfig_CSBQXJ')" width="40%" :visible.sync="dialogVisibleConfig.edit_CSBQXJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_CSBQXJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 200px; font-size: 18px; text-align: center;">
          <el-form :model="dialogForm.edit_CSBQXJ" ref="dialogForm.edit_CSBQXJ" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_CSBQXJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.cleanTime')">
              <el-input v-model="dialogForm.edit_CSBQXJ.cleanTime" :placeholder="$t('common.placeholder.cleanTime')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_CSBQXJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_CSBQXJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_CSBQXJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑高通量配粉系统参数 -->
    <el-dialog :title="$t('common.title.editConfig_GTLPFXT')" width="60%" :visible.sync="dialogVisibleConfig.edit_GTLPFXT">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_GTLPFXT')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-form :model="dialogForm.edit_GTLPFXT" ref="dialogForm.edit_GTLPFXT" label-width="100px" style="margin: -30px 40px 30px 40px;">
          <el-form-item :label="$t('common.label.workingHours')">
            <el-input v-model="dialogForm.edit_GTLPFXT.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 95%;"></el-input>
          </el-form-item>
        </el-form>
        <div class="dialog-content" style="height: 400px; font-size: 14px; text-align: center; margin-right: 30px;">
          <el-row :gutter="5">
            <el-col :span="4"></el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4">{{$t('common.label.materialCupOrTank')}}</el-col>
            <el-col :span="4">{{$t('common.label.materialTank1')}}</el-col>
            <el-col :span="4">{{$t('common.label.materialTank2')}}</el-col>
            <el-col :span="4">{{$t('common.label.materialTank3')}}</el-col>
            <el-col :span="4">{{$t('common.label.materialTank4')}}</el-col>
            <el-col :span="4">{{$t('common.label.materialTank5')}}</el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.materialCup1')}} <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup1_Status"></el-switch>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank1_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank1_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup1_Tank1_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank2_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank2_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup1_Tank2_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank3_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank3_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup1_Tank3_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank4_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank4_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup1_Tank4_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank5_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup1_Tank5_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup1_Tank5_Status === false"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.materialCup2')}} <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup2_Status"></el-switch>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank1_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank1_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup2_Tank1_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank2_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank2_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup2_Tank2_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank3_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank3_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup2_Tank3_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank4_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank4_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup2_Tank4_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank5_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup2_Tank5_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup2_Tank5_Status === false"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.materialCup3')}} <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup3_Status"></el-switch>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank1_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank1_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup3_Tank1_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank2_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank2_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup3_Tank2_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank3_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank3_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup3_Tank3_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank4_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank4_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup3_Tank4_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank5_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup3_Tank5_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup3_Tank5_Status === false"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.materialCup4')}} <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup4_Status"></el-switch>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank1_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank1_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup4_Tank1_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank2_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank2_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup4_Tank2_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank3_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank3_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup4_Tank3_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank4_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank4_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup4_Tank4_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank5_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup4_Tank5_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup4_Tank5_Status === false"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.materialCup5')}} <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup5_Status"></el-switch>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank1_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank1_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup5_Tank1_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank2_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank2_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup5_Tank2_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank3_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank3_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup5_Tank3_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank4_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank4_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup5_Tank4_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank5_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup5_Tank5_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup5_Tank5_Status === false"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.materialCup6')}} <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup6_Status"></el-switch>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank1_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank1_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup6_Tank1_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank2_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank2_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup6_Tank2_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank3_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank3_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup6_Tank3_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank4_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank4_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup6_Tank4_Status === false"></el-input>
            </el-col>
            <el-col :span="4">
              <el-switch v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank5_Status"></el-switch>
              <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.weight')"
                v-model="dialogForm.edit_GTLPFXT.materialCup6_Tank5_Weight"
                :disabled="dialogForm.edit_GTLPFXT.materialCup6_Tank5_Status === false"></el-input>
            </el-col>
          </el-row>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_GTLPFXT=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_GTLPFXT=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_GTLPFXT=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑移液配比系统参数 -->
    <el-dialog :title="$t('common.title.editConfig_YYPBXT')" width="60%" :visible.sync="dialogVisibleConfig.edit_YYPBXT">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_YYPBXT')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-form :model="dialogForm.edit_YYPBXT" ref="dialogForm.edit_YYPBXT" label-width="100px" style="margin: -30px 40px 50px 30px;">
          <el-form-item :label="$t('common.label.workingHours')">
            <el-input v-model="dialogForm.edit_YYPBXT.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 95%;"></el-input>
          </el-form-item>
        </el-form>
        <div class="dialog-content" style="height: 300px; font-size: 14px; text-align: center;">
          <el-row :gutter="5">
            <el-col :span="4">{{$t('common.label.crucibleOrAspirationWeight')}}</el-col>
            <el-col :span="5">{{$t('common.label.crucibleAspirationWeightA')}}</el-col>
            <el-col :span="5">{{$t('common.label.crucibleAspirationWeightB')}}</el-col>
            <el-col :span="5">{{$t('common.label.crucibleAspirationWeightC')}}</el-col>
            <el-col :span="5">{{$t('common.label.crucibleAspirationWeightD')}}</el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.crucible1')}} <el-switch v-model="dialogForm.edit_YYPBXT.crucible1_Status" @change="changeYYPBXTstatus($event, 1)"></el-switch>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible1_Aspiration_Weight_A"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible1_Aspiration_Weight_B"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible1_Aspiration_Weight_C"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible1_Aspiration_Weight_D"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.crucible2')}} <el-switch v-model="dialogForm.edit_YYPBXT.crucible2_Status" @change="changeYYPBXTstatus($event, 2)"></el-switch>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible2_Aspiration_Weight_A"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible2_Aspiration_Weight_B"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible2_Aspiration_Weight_C"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible2_Aspiration_Weight_D"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.crucible3')}} <el-switch v-model="dialogForm.edit_YYPBXT.crucible3_Status" @change="changeYYPBXTstatus($event, 3)"></el-switch>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible3_Aspiration_Weight_A"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible3_Aspiration_Weight_B"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible3_Aspiration_Weight_C"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible3_Aspiration_Weight_D"></el-input>
            </el-col>
          </el-row>
          <el-row :gutter="5">
            <el-col :span="4" style="margin-top: 4px;">
              {{$t('common.label.crucible4')}} <el-switch v-model="dialogForm.edit_YYPBXT.crucible4_Status" @change="changeYYPBXTstatus($event, 4)"></el-switch>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible4_Aspiration_Weight_A"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible4_Aspiration_Weight_B"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible4_Aspiration_Weight_C"></el-input>
            </el-col>
            <el-col :span="5">
              <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.aspirationWeight')"
                v-model="dialogForm.edit_YYPBXT.crucible4_Aspiration_Weight_D"></el-input>
            </el-col>
          </el-row>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_YYPBXT=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_YYPBXT=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_YYPBXT=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑球磨机1参数 -->
    <el-dialog :title="$t('common.title.editConfig_QMJ1')" width="60%" :visible.sync="dialogVisibleConfig.edit_QMJ1">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_QMJ1')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 500px; font-size: 18px; text-align: center; margin-top: -50px;">
          <el-form :model="dialogForm.edit_QMJ1" ref="dialogForm.edit_QMJ1" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_QMJ1.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-alert :title="$t('common.prompt.info.editQMJConfigTip')" type="info" show-icon :closable="false"></el-alert>
            <el-form-item :label="$t('common.label.runSetup')">
              <el-row :gutter="5">
                <el-col :span="5">{{$t('common.label.serialNumberOrConfig')}}</el-col>
                <el-col :span="6">{{$t('common.label.speed')}}</el-col>
                <el-col :span="6">{{$t('common.label.rotationTime')}}</el-col>
                <el-col :span="6">{{$t('common.label.coolingTime')}}</el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="5" style="margin-top: 4px;">1</el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.speed')"
                    v-model="dialogForm.edit_QMJ1.speed_1"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.rotationTime')"
                    v-model="dialogForm.edit_QMJ1.rotationTime_1"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.coolingTime')"
                    v-model="dialogForm.edit_QMJ1.coolingTime_1"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="5" style="margin-top: 4px;">2</el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.speed')"
                    v-model="dialogForm.edit_QMJ1.speed_2"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.rotationTime')"
                    v-model="dialogForm.edit_QMJ1.rotationTime_2"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.coolingTime')"
                    v-model="dialogForm.edit_QMJ1.coolingTime_2"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="5" style="margin-top: 4px;">3</el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.speed')"
                    v-model="dialogForm.edit_QMJ1.speed_3"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.rotationTime')"
                    v-model="dialogForm.edit_QMJ1.rotationTime_3"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.coolingTime')"
                    v-model="dialogForm.edit_QMJ1.coolingTime_3"></el-input>
                </el-col>
              </el-row>
            </el-form-item>
            <el-form-item :label="$t('common.label.intervalTime')">
              <el-input v-model="dialogForm.edit_QMJ1.intervalTime" :placeholder="$t('common.placeholder.intervalTime')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.coolingTime')">
              <el-input v-model="dialogForm.edit_QMJ1.burialTime" :placeholder="$t('common.placeholder.coolingTime')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.loopNumber')">
              <el-input v-model="dialogForm.edit_QMJ1.loopNumber" :placeholder="$t('common.placeholder.loopNumber')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_QMJ1=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_QMJ1=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_QMJ1=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑球磨机2参数 -->
    <el-dialog :title="$t('common.title.editConfig_QMJ2')" width="60%" :visible.sync="dialogVisibleConfig.edit_QMJ2">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_QMJ2')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 500px; font-size: 18px; text-align: center; margin-top: -50px;">
          <el-form :model="dialogForm.edit_QMJ2" ref="dialogForm.edit_QMJ1" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_QMJ2.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-alert :title="$t('common.prompt.info.editQMJConfigTip')" type="info" show-icon :closable="false"></el-alert>
            <el-form-item :label="$t('common.label.runSetup')">
              <el-row :gutter="5">
                <el-col :span="5">{{$t('common.label.serialNumberOrConfig')}}</el-col>
                <el-col :span="6">{{$t('common.label.speed')}}</el-col>
                <el-col :span="6">{{$t('common.label.rotationTime')}}</el-col>
                <el-col :span="6">{{$t('common.label.coolingTime')}}</el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="5" style="margin-top: 4px;">1</el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.speed')"
                    v-model="dialogForm.edit_QMJ2.speed_1"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.rotationTime')"
                    v-model="dialogForm.edit_QMJ2.rotationTime_1"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.coolingTime')"
                    v-model="dialogForm.edit_QMJ2.coolingTime_1"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="5" style="margin-top: 4px;">2</el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.speed')"
                    v-model="dialogForm.edit_QMJ2.speed_2"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.rotationTime')"
                    v-model="dialogForm.edit_QMJ2.rotationTime_2"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.coolingTime')"
                    v-model="dialogForm.edit_QMJ2.coolingTime_2"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="5" style="margin-top: 4px;">3</el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.speed')"
                    v-model="dialogForm.edit_QMJ2.speed_3"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.rotationTime')"
                    v-model="dialogForm.edit_QMJ2.rotationTime_3"></el-input>
                </el-col>
                <el-col :span="6">
                  <el-input type="number" size="mini" style="width: 60%; margin-left: 5px;" :placeholder="$t('common.placeholder.coolingTime')"
                    v-model="dialogForm.edit_QMJ2.coolingTime_3"></el-input>
                </el-col>
              </el-row>
            </el-form-item>
            <el-form-item :label="$t('common.label.intervalTime')">
              <el-input v-model="dialogForm.edit_QMJ2.intervalTime" :placeholder="$t('common.placeholder.intervalTime')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.coolingTime')">
              <el-input v-model="dialogForm.edit_QMJ2.burialTime" :placeholder="$t('common.placeholder.coolingTime')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.loopNumber')">
              <el-input v-model="dialogForm.edit_QMJ2.loopNumber" :placeholder="$t('common.placeholder.loopNumber')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_QMJ2=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_QMJ2=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_QMJ2=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑颚式破碎机参数 -->
    <el-dialog :title="$t('common.title.editConfig_ESPSJ')" width="40%" :visible.sync="dialogVisibleConfig.edit_ESPSJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_ESPSJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 200px; font-size: 18px; text-align: center;">
          <el-form :model="dialogForm.edit_ESPSJ" ref="dialogForm.edit_ESPSJ" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_ESPSJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.crushTime')">
              <el-input v-model="dialogForm.edit_ESPSJ.crushTime" :placeholder="$t('common.placeholder.crushTime')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_ESPSJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_ESPSJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_ESPSJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑刷料机参数 -->
    <el-dialog :title="$t('common.title.editConfig_SLJ')" width="50%" :visible.sync="dialogVisibleConfig.edit_SLJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_SLJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 400px; font-size: 18px; text-align: center;">
          <el-form :model="dialogForm.edit_SLJ" ref="dialogForm.edit_SLJ" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_SLJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.operate')">
              <el-select v-model="dialogForm.edit_SLJ.operate" :placeholder="$t('common.placeholder.pleaseSelect')" style="width: 90%;">
                <el-option :label="$t('common.label.scraping')" :value="0"></el-option>
                <el-option :label="$t('common.label.nickelSheet')" :value="1"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item v-if="dialogForm.edit_SLJ.operate === 0" :label="$t('common.label.scrapingTime')">
              <el-input v-model="dialogForm.edit_SLJ.scrapingTime" :placeholder="$t('common.placeholder.scrapingTime')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_SLJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_SLJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_SLJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑坩埚转换位参数 -->
    <el-dialog :title="$t('common.title.editConfig_GGZHW')" width="50%" :visible.sync="dialogVisibleConfig.edit_GGZHW">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_GGZHW')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 400px; font-size: 18px; text-align: center;">
          <el-form :model="dialogForm.edit_GGZHW" ref="dialogForm.edit_GGZHW" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_GGZHW.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.operate')">
              <el-select v-model="dialogForm.edit_GGZHW.operate" :placeholder="$t('common.placeholder.pleaseSelect')" style="width: 90%;">
                <el-option :label="$t('common.label.crucibleConversion')" :value="0"></el-option>
                <el-option :label="$t('common.label.linerOpen')" :value="1"></el-option>
              </el-select>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_GGZHW=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_GGZHW=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_GGZHW=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑自动化电池封装机参数 -->
    <el-dialog :title="$t('common.title.editConfig_ZDHDCFZJ')" width="60%" style="margin-top: -2%;" :visible.sync="dialogVisibleConfig.edit_ZDHDCFZJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_ZDHDCFZJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 600px; font-size: 18px; text-align: center; margin-top: -50px;">
          <el-form :model="dialogForm.edit_ZDHDCFZJ" ref="dialogForm.edit_ZDHDCFZJ" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_ZDHDCFZJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.runSetup')">
              <el-row :gutter="5">
                <el-col :span="3">{{$t('common.label.serialNumberOrConfig')}}</el-col>
                <el-col :span="5">{{$t('common.label.solidityPressureValue')}}</el-col>
                <el-col :span="5">{{$t('common.label.solidityPressurizeTime')}}</el-col>
                <el-col :span="5">{{$t('common.label.liquidPressureValue')}}</el-col>
                <el-col :span="5">{{$t('common.label.liquidPressurizeTime')}}</el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">1</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_1"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_1"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_1"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_1"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">2</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_2"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_2"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_2"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_2"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">3</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_3"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_3"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_3"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_3"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">4</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_4"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_4"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_4"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_4"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">5</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_5"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_5"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_5"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_5"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">6</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_6"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_6"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_6"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_6"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">7</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_7"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_7"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_7"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_7"></el-input>
                </el-col>
              </el-row>
              <el-row :gutter="5">
                <el-col :span="3" style="margin-top: 4px;">8</el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressureValue_8"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.solidity_PressurizeTime_8"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressureValue_8"></el-input>
                </el-col>
                <el-col :span="5">
                  <el-input type="number" size="mini" style="width: 70%; margin-left: 5px;" :placeholder="$t('common.placeholder.pleaseInput')"
                    v-model="dialogForm.edit_ZDHDCFZJ.liquid_PressurizeTime_8"></el-input>
                </el-col>
              </el-row>
            </el-form-item>
            <el-form-item :label="$t('common.label.solidityPackageValue')">
              <el-input v-model="dialogForm.edit_ZDHDCFZJ.solidity_PackageValue" :placeholder="$t('common.placeholder.solidityPackageValue')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.liquidPackageValue')">
              <el-input v-model="dialogForm.edit_ZDHDCFZJ.liquid_PackageValue" :placeholder="$t('common.placeholder.liquidPackageValue')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_ZDHDCFZJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_ZDHDCFZJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_ZDHDCFZJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑陶瓷压片机参数 -->
    <el-dialog :title="$t('common.title.editConfig_TCYPJ')" width="60%" :visible.sync="dialogVisibleConfig.edit_TCYPJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_TCYPJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 500px; font-size: 18px; text-align: center;">
          <el-form :model="dialogForm.edit_TCYPJ" ref="dialogForm.edit_TCYPJ" label-width="140px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_TCYPJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.startPressureValue')">
              <el-input v-model="dialogForm.edit_TCYPJ.startPressureValue" :placeholder="$t('common.placeholder.startPressureValue')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.targetPressureValue1')">
              <el-input v-model="dialogForm.edit_TCYPJ.targetPressureValue_1" :placeholder="$t('common.placeholder.targetPressureValue1')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.targetPressureValue2')">
              <el-input v-model="dialogForm.edit_TCYPJ.targetPressureValue_2" :placeholder="$t('common.placeholder.targetPressureValue2')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.upperPressureValue')">
              <el-input v-model="dialogForm.edit_TCYPJ.upperPressureValue" :placeholder="$t('common.placeholder.upperPressureValue')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.programRunningTime')">
              <el-input v-model="dialogForm.edit_TCYPJ.programRunningTime" :placeholder="$t('common.placeholder.programRunningTime')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.pressureHoldTime')">
              <el-input v-model="dialogForm.edit_TCYPJ.pressureHoldTime" :placeholder="$t('common.placeholder.pressureHoldTime')" style="width: 96%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_TCYPJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_TCYPJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_TCYPJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑管式炉参数 -->
    <el-dialog :title="$t('common.title.editConfig_GSL')" width="62%" style="margin-top: -2%;" :visible.sync="dialogVisibleConfig.edit_GSL">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_GSL')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 550px; font-size: 18px; text-align:center; margin-top: -50px; overflow-y: scroll;">
          <el-form :model="dialogForm.edit_GSL" ref="dialogForm.edit_GSL" label-width="130px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_GSL.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.intakeFlowRate')">
              <el-input v-model="dialogForm.edit_GSL.intakeFlowRate" :placeholder="$t('common.placeholder.intakeFlowRate')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.programMaxTemperatureValue')">
              <el-input v-model="dialogForm.edit_GSL.programMaxTemperatureValue" :placeholder="$t('common.placeholder.programMaxTemperatureValue')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.scrubbingCirculateCount')">
              <el-input v-model="dialogForm.edit_GSL.scrubbingCirculateCount" :placeholder="$t('common.placeholder.scrubbingCirculateCount')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.autoInletFlowValue')">
              <el-input v-model="dialogForm.edit_GSL.autoInletFlowValue" :placeholder="$t('common.placeholder.autoInletFlowValue')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.autoLoopCount')">
              <el-input v-model="dialogForm.edit_GSL.autoLoopCount" :placeholder="$t('common.placeholder.autoLoopCount')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.doorOpenTemperatureValue')">
              <el-input v-model="dialogForm.edit_GSL.doorOpenTemperatureValue" :placeholder="$t('common.placeholder.doorOpenTemperatureValue')" style="width: 98%;"></el-input>
            </el-form-item>
            <!-- <el-form-item :label="$t('common.label.heatLoopProgramNumber')">
              <el-input v-model="dialogForm.edit_GSL.heatLoopProgramNumber" :placeholder="$t('common.placeholder.heatLoopProgramNumber')" style="width: 98%;"></el-input>
            </el-form-item> -->
            <el-form-item :label="$t('common.label.washingGasTimeoutTime')">
              <el-input v-model="dialogForm.edit_GSL.washingGasTimeoutTime" :placeholder="$t('common.placeholder.washingGasTimeoutTime')" style="width: 98%;"></el-input>
            </el-form-item>
            <!-- <el-form-item :label="$t('common.label.constantVoltageEnable')">
              <el-input v-model="dialogForm.edit_GSL.constantVoltageEnable" :placeholder="$t('common.placeholder.constantVoltageEnable')" style="width: 98%;"></el-input>
            </el-form-item> -->
            <el-form-item :label="$t('common.label.vacuumLowerLimitValue')">
              <el-input v-model="dialogForm.edit_GSL.vacuumLowerLimitValue" :placeholder="$t('common.placeholder.vacuumLowerLimitValue')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.hatchOpenPressureLowerLimit')">
              <el-input v-model="dialogForm.edit_GSL.hatchOpenPressureLowerLimit" :placeholder="$t('common.placeholder.hatchOpenPressureLowerLimit')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.hatchOpenPressureUpperLimit')">
              <el-input v-model="dialogForm.edit_GSL.hatchOpenPressureUpperLimit" :placeholder="$t('common.placeholder.hatchOpenPressureUpperLimit')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.furnaceTubePressureAlarmValue')">
              <el-input v-model="dialogForm.edit_GSL.furnaceTubePressureAlarmValue" :placeholder="$t('common.placeholder.furnaceTubePressureAlarmValue')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.constantVoltageRangeLowerLimit')">
              <el-input v-model="dialogForm.edit_GSL.constantVoltageRangeLowerLimit" :placeholder="$t('common.placeholder.constantVoltageRangeLowerLimit')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.constantVoltageRangeUpperLimit')">
              <el-input v-model="dialogForm.edit_GSL.constantVoltageRangeUpperLimit" :placeholder="$t('common.placeholder.constantVoltageRangeUpperLimit')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item>
              <div style="margin-left: 846px;">
                <el-button type="primary" @click="addGSLparam">{{$t('common.button.addParam')}}</el-button>
              </div>
            </el-form-item>
            <el-form-item v-for="(item, index) in dialogForm.edit_GSL.param" :key="item.key" :label="$t('common.label.temperatureControlparam')+(index+1)">
              <el-input v-model="item.temperature" :placeholder="$t('common.placeholder.temperature')" style="width: 41%; margin-left: 20px;"></el-input>&nbsp;°C
              <el-input v-model="item.time" :placeholder="$t('common.placeholder.time')" style="width: 41%;"></el-input>&nbsp;{{$t('common.title.minute')}}
              <el-button style="margin-left: 10px;" @click.prevent="removeGSLparam(item)">{{$t('common.button.del')}}</el-button>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_GSL=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_GSL=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_GSL=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑下装炉参数 -->
    <el-dialog :title="$t('common.title.editConfig_XZL')" width="60%" style="margin-top: -2%;" :visible.sync="dialogVisibleConfig.edit_XZL">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_XZL')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 550px; font-size: 18px; text-align:center; margin-top: -50px; overflow-y: scroll;">
          <el-form :model="dialogForm.edit_XZL" ref="dialogForm.edit_XZL" label-width="100px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_XZL.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.doorVelocity')">
              <el-input v-model="dialogForm.edit_XZL.doorVelocity" :placeholder="$t('common.placeholder.doorVelocity')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.temperaturePeakValue')">
              <el-input v-model="dialogForm.edit_XZL.temperaturePeakValue" :placeholder="$t('common.placeholder.temperaturePeakValue')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.doorOpenTemperature')">
              <el-input v-model="dialogForm.edit_XZL.doorOpenTemperature" :placeholder="$t('common.placeholder.doorOpenTemperature')" style="width: 98%;"></el-input>
            </el-form-item>
            <el-form-item>
              <div style="margin-left: 846px;">
                <el-button type="primary" @click="addXZLparam">{{$t('common.button.addParam')}}</el-button>
              </div>
            </el-form-item>
            <el-form-item v-for="(item, index) in dialogForm.edit_XZL.param" :key="item.key" :label="$t('common.label.temperatureControlparam')+(index+1)">
              <el-input v-model="item.temperature" :placeholder="$t('common.placeholder.temperature')" style="width: 41%; margin-left: 20px;"></el-input>&nbsp;°C
              <el-input v-model="item.time" :placeholder="$t('common.placeholder.time')" style="width: 41%;"></el-input>&nbsp;{{$t('common.title.minute')}}
              <el-button style="margin-left: 10px;" @click.prevent="removeXZLparam(item)">{{$t('common.button.del')}}</el-button>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_XZL=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_XZL=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_XZL=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑固固测试平台参数 -->
    <el-dialog :title="$t('common.title.editConfig_GGCSPT')" width="40%" :visible.sync="dialogVisibleConfig.edit_GGCSPT">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_GGCSPT')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <el-form :model="dialogForm.edit_GGCSPT" ref="dialogForm.edit_GGCSPT" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_GGCSPT.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_GGCSPT=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_GGCSPT=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_GGCSPT=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑固液测试平台参数 -->
    <el-dialog :title="$t('common.title.editConfig_GYCSPT')" width="40%" :visible.sync="dialogVisibleConfig.edit_GYCSPT">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_GYCSPT')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 300px; font-size: 18px; text-align:center;">
          <el-form :model="dialogForm.edit_GYCSPT" ref="dialogForm.edit_GYCSPT" label-width="120px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_GYCSPT.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 90%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.peristalticPumpNumber')">
              <el-input v-model="dialogForm.edit_GYCSPT.peristalticPumpNumber" :placeholder="$t('common.placeholder.peristalticPumpNumber')" style="width: 90%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_GYCSPT=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_GYCSPT=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_GYCSPT=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑电化学测试仪器参数 -->
    <el-dialog :title="$t('common.title.editConfig_DHXCSYQ')" width="60%" style="margin-top: -5%;" :visible.sync="dialogVisibleConfig.edit_DHXCSYQ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_DHXCSYQ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 700px; font-size: 18px; text-align: center; margin-top: -50px;">
          <el-form :model="dialogForm.edit_DHXCSYQ" ref="dialogForm.edit_DHXCSYQ" label-width="140px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_DHXCSYQ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 96%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.selExp')">
              <el-select v-model="dialogForm.edit_DHXCSYQ.selExpId" :placeholder="$t('common.placeholder.selExpId')" style="width: 96%;" @change="changeDHXCSYQExp">
                <el-option v-for="item in dialogFormDataSource.dt_DHXCSYQ.expData" :key="item.id" :label="item.name" :value="item.id"></el-option>
              </el-select>
            </el-form-item>

            <div style="padding-top: 10px;">
              <el-divider content-position="left">{{$t('common.label.expParamConfig')}} - {{dialogForm.edit_DHXCSYQ.selExpName}}</el-divider>
            </div>

            <!-- 实验配置-0 开路电位(电分析) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '0'">
              <el-form-item :label="$t('common.label.timePerPoint')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_kldw.timePerPoint" :placeholder="$t('common.placeholder.timePerPoint')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.continueTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_kldw.continueTime" :placeholder="$t('common.placeholder.continueTime')" style="width: 96%;"></el-input>
              </el-form-item>
            </div>

            <!-- 实验配置-1 线性扫描伏安法(LSV) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '1'">
              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.scanRate')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.scanRate" :placeholder="$t('common.placeholder.scanRate')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xxsmfaf.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-2 循环伏安法 -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '2'">
              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.scanRate')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.scanRate" :placeholder="$t('common.placeholder.scanRate')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfaf.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-3 循环伏安法(多循环) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '3'">
              <el-form-item :label="$t('common.label.isUseInitialPotential')">
                <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.isUseInitialPotential" :placeholder="$t('common.placeholder.isUseInitialPotential')" style="width: 96%;">
                  <el-option :label="$t('common.label.notUse')" :value="0"></el-option>
                  <el-option :label="$t('common.label.use')" :value="1"></el-option>
                </el-select>
              </el-form-item>
              <el-row v-if="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.isUseInitialPotential === 1">
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.topPotential1')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.topPotential1" :placeholder="$t('common.placeholder.topPotential1')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.topPotential2')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.topPotential2" :placeholder="$t('common.placeholder.topPotential2')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.topPotential1VSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.topPotential1VSType" :placeholder="$t('common.placeholder.topPotential1VSType')" style="width: 90%;">
                      <el-option label="VSRef" :value="0"></el-option>
                      <el-option label="VSOC" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.topPotential2VSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.topPotential2VSType" :placeholder="$t('common.placeholder.topPotential2VSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.isUseFinallyPotential')">
                <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.isUseFinallyPotential" :placeholder="$t('common.placeholder.isUseFinallyPotential')" style="width: 96%;">
                  <el-option :label="$t('common.label.notUse')" :value="0"></el-option>
                  <el-option :label="$t('common.label.use')" :value="1"></el-option>
                </el-select>
              </el-form-item>
              <el-row v-if="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.isUseFinallyPotential === 1">
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.scanRate')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.scanRate" :placeholder="$t('common.placeholder.scanRate')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.cycleCount')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.cycleCount" :placeholder="$t('common.placeholder.cycleCount')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_xhfafdxh.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-4 恒电位 -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '4'">
              <el-form-item :label="$t('common.label.timePerPoint')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.timePerPoint" :placeholder="$t('common.placeholder.timePerPoint')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.continueTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.continueTime" :placeholder="$t('common.placeholder.continueTime')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.stepPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.initialPotential" :placeholder="$t('common.placeholder.stepPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.stepPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.initialPotentialVSType" :placeholder="$t('common.placeholder.stepPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdw.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-5 恒电流 -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '5'">
              <el-form-item :label="$t('common.label.timePerPoint')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdl.timePerPoint" :placeholder="$t('common.placeholder.timePerPoint')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.continueTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdl.continueTime" :placeholder="$t('common.placeholder.continueTime')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.current')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdl.current" :placeholder="$t('common.placeholder.current')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdl.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_hdl.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_hdl.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-6 交流阻抗(电压) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '6'">
              <el-form-item :label="$t('common.label.startFreq')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.startFreq" :placeholder="$t('common.placeholder.startFreq')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.endFreq')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.endFreq" :placeholder="$t('common.placeholder.endFreq')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.amplitude')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.amplitude" :placeholder="$t('common.placeholder.amplitude')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.intervalType')">
                <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.intervalType" :placeholder="$t('common.placeholder.intervalType')" style="width: 96%;">
                  <el-option :label="$t('common.label.linear')" :value="0"></el-option>
                  <el-option :label="$t('common.label.logarithm')" :value="1"></el-option>
                </el-select>
              </el-form-item>
              <el-form-item :label="$t('common.label.pointCount')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.pointCount" :placeholder="$t('common.placeholder.pointCount')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltage')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.voltage" :placeholder="$t('common.placeholder.voltage')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdy.voltageVSType" :placeholder="$t('common.placeholder.voltageVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-7 交流阻抗(电流) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '7'">
              <el-form-item :label="$t('common.label.startFreq')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdl.startFreq" :placeholder="$t('common.placeholder.startFreq')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.endFreq')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdl.endFreq" :placeholder="$t('common.placeholder.endFreq')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.amplitude')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdl.amplitude" :placeholder="$t('common.placeholder.amplitude')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.intervalType')">
                <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdl.intervalType" :placeholder="$t('common.placeholder.intervalType')" style="width: 96%;">
                  <el-option :label="$t('common.label.linear')" :value="0"></el-option>
                  <el-option :label="$t('common.label.logarithm')" :value="1"></el-option>
                </el-select>
              </el-form-item>
              <el-form-item :label="$t('common.label.pointCount')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdl.pointCount" :placeholder="$t('common.placeholder.pointCount')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.dcOutput')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jlzkdl.voltage" :placeholder="$t('common.placeholder.dcOutput')" style="width: 96%;"></el-input>
              </el-form-item>
            </div>

            <!-- 实验配置-8 阶梯循环伏安法 -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '8'">
              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.topPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.topPotential1" :placeholder="$t('common.placeholder.topPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.topPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.topPotential1VSType" :placeholder="$t('common.placeholder.topPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.stepHeight')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.stepHeight" :placeholder="$t('common.placeholder.stepHeight')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.stepTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.stepTime" :placeholder="$t('common.placeholder.stepTime')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfaf.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-9 阶梯循环伏安法(多循环) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '9'">
              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.topPotential1')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.topPotential1" :placeholder="$t('common.placeholder.topPotential1')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.topPotential2')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.topPotential2" :placeholder="$t('common.placeholder.topPotential2')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.topPotential1VSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.topPotential1VSType" :placeholder="$t('common.placeholder.topPotential1VSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.topPotential2VSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.topPotential2VSType" :placeholder="$t('common.placeholder.topPotential2VSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.stepHeight')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.stepHeight" :placeholder="$t('common.placeholder.stepHeight')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.stepTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.stepTime" :placeholder="$t('common.placeholder.stepTime')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.notAutoSetting')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxhfafdxh.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-10 阶梯线性扫描伏安法(SLSV) -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '10'">
              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.stepHeight')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.stepHeight" :placeholder="$t('common.placeholder.stepHeight')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.stepTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.stepTime" :placeholder="$t('common.placeholder.stepTime')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_jtxxsmfafslsv.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

            <!-- 实验配置-11 Tafel -->
            <div v-if="dialogForm.edit_DHXCSYQ.selExpId === '11'">
              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.initialPotential" :placeholder="$t('common.placeholder.initialPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.initialPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.initialPotentialVSType" :placeholder="$t('common.placeholder.initialPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotential')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.finallyPotential" :placeholder="$t('common.placeholder.finallyPotential')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.finallyPotentialVSType')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.finallyPotentialVSType" :placeholder="$t('common.placeholder.finallyPotentialVSType')" style="width: 90%;">
                      <el-option :label="$t('common.label.vsRef')" :value="0"></el-option>
                      <el-option :label="$t('common.label.vsoc')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>

              <el-form-item :label="$t('common.label.stepHeight')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.stepHeight" :placeholder="$t('common.placeholder.stepHeight')" style="width: 96%;"></el-input>
              </el-form-item>
              <el-form-item :label="$t('common.label.stepTime')">
                <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.stepTime" :placeholder="$t('common.placeholder.stepTime')" style="width: 96%;"></el-input>
              </el-form-item>

              <el-row>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.isVoltageRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.isVoltageRandAuto" :placeholder="$t('common.placeholder.isVoltageRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.isCurrentRandAuto')">
                    <el-select v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.isCurrentRandAuto" :placeholder="$t('common.placeholder.isCurrentRandAuto')" style="width: 90%;">
                      <el-option :label="$t('common.label.notAutoSetting')" :value="0"></el-option>
                      <el-option :label="$t('common.label.autoSetting')" :value="1"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item :label="$t('common.label.voltageRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.voltageRand" :placeholder="$t('common.placeholder.voltageRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                  <el-form-item :label="$t('common.label.currentRand')">
                    <el-input v-model="dialogForm.edit_DHXCSYQ.expconfig_tafel.currentRand" :placeholder="$t('common.placeholder.currentRand')" style="width: 90%;"></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
            </div>

          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_DHXCSYQ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_DHXCSYQ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_DHXCSYQ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑XRD测试仪参数 -->
    <el-dialog :title="$t('common.title.editConfig_XRDCSY')" width="60%" :visible.sync="dialogVisibleConfig.edit_XRDCSY">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_XRDCSY')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 450px; font-size: 18px; text-align: center; margin-top: -50px;">
          <el-form :model="dialogForm.edit_XRDCSY" ref="dialogForm.edit_XRDCSY" label-width="150px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_XRDCSY.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 94%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.highVoltageKV')">
              <el-input v-model="dialogForm.edit_XRDCSY.highVoltageKV" :placeholder="$t('common.placeholder.highVoltageKV')" style="width: 94%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.highVoltagemA')">
              <el-input v-model="dialogForm.edit_XRDCSY.highVoltagemA" :placeholder="$t('common.placeholder.highVoltagemA')" style="width: 94%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.startAngle')">
              <el-input v-model="dialogForm.edit_XRDCSY.startAngle" :placeholder="$t('common.placeholder.startAngle')" style="width: 94%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.endAngle')">
              <el-input v-model="dialogForm.edit_XRDCSY.endAngle" :placeholder="$t('common.placeholder.endAngle')" style="width: 94%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.measureVelocity')">
              <el-input v-model="dialogForm.edit_XRDCSY.measureVelocity" :placeholder="$t('common.placeholder.measureVelocity')" style="width: 94%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.measureStep')">
              <el-input v-model="dialogForm.edit_XRDCSY.measureStep" :placeholder="$t('common.placeholder.measureStep')" style="width: 94%;"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_XRDCSY=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_XRDCSY=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_XRDCSY=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

    <!-- 组件提示框-编辑自动化烘干机参数 -->
    <el-dialog :title="$t('common.title.editConfig_ZDHHGJ')" width="60%" style="margin-top: -2%;" :visible.sync="dialogVisibleConfig.edit_ZDHHGJ">
      <div slot="title" style="background: #369BA5; color: white">
        <div style="padding: 15px 20px">{{$t('common.title.editConfig_ZDHHGJ')}}</div>
      </div>
      <span slot="footer" class="dialog-footer">
        <div style="height: 550px; font-size: 18px; text-align:center; margin-top: -50px; overflow-y: scroll;">
          <el-form :model="dialogForm.edit_ZDHHGJ" ref="dialogForm.edit_ZDHHGJ" label-width="100px">
            <el-form-item :label="$t('common.label.workingHours')">
              <el-input v-model="dialogForm.edit_ZDHHGJ.workingHours" :placeholder="$t('common.placeholder.workingHours')" style="width: 97%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.settingTemperature')">
              <el-input v-model="dialogForm.edit_ZDHHGJ.settingTemperature" :placeholder="$t('common.placeholder.settingTemperature')" style="width: 97%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.settingRotateSpeed')">
              <el-input v-model="dialogForm.edit_ZDHHGJ.settingRotateSpeed" :placeholder="$t('common.placeholder.settingRotateSpeed')" style="width: 97%;"></el-input>
            </el-form-item>
            <el-form-item :label="$t('common.label.settingTime')">
              <el-input v-model="dialogForm.edit_ZDHHGJ.settingTime" :placeholder="$t('common.placeholder.settingTime')" style="width: 97%;"></el-input>
            </el-form-item>
            <el-form-item>
              <div style="margin-left: 836px;">
                <el-button type="primary" @click="addZDHHGJparam">{{$t('common.button.addParam')}}</el-button>
              </div>
            </el-form-item>
            <el-form-item v-for="(item, index) in dialogForm.edit_ZDHHGJ.param" :key="item.key" :label="$t('common.label.paramPart')+(index+1)">
              <el-input v-model="item.time" :placeholder="$t('common.placeholder.time')" style="width: 25%;"></el-input>&nbsp;{{$t('common.title.minute')}}
              <el-input v-model="item.temperature" :placeholder="$t('common.placeholder.temperature')" style="width: 25%; margin-left: 20px;"></el-input>&nbsp;°C
              <el-input v-model="item.speed" :placeholder="$t('common.placeholder.speed')" style="width: 25%; margin-left: 20px;"></el-input>&nbsp;rpm
              <el-button style="margin-left: 10px;" @click.prevent="removeZDHHGJparam(item)">{{$t('common.button.del')}}</el-button>
            </el-form-item>
          </el-form>
        </div>
        <el-tooltip effect="dark" :content="$t('common.prompt.info.editNodeConfigTip')" placement="top">
          <el-button type="primary" plain @click="editForm(selectCell);dialogVisibleConfig.edit_ZDHHGJ=false;">{{$t('common.button.editNodeConfig')}}</el-button>
        </el-tooltip>
        <el-button type="primary" @click="saveConfig();dialogVisibleConfig.edit_ZDHHGJ=false">{{$t('common.button.determine')}}</el-button>
        <el-button @click="dialogVisibleConfig.edit_ZDHHGJ=false">{{$t('common.button.cancel')}}</el-button>
      </span>
    </el-dialog>

  </div>
</template>
<script>
  import { Graph, Shape } from '@antv/x6'
  import { configSetting, configNodeShape, configNodePorts, configEdgeLabel, graphBindKey, assembly } from '@/utils/antvSetting'
  import {
    CreateExperimentNumber,
    ExperimentTemplateDetail,
    ExperimentTemplateConfigDetail,
    SubmitExperimentTemplateConfig,
    SubmitExperimentTemplate,
  } from "../../../api/experiment.js";
  export default {
    name: "AntV6X",
    /**
     * 这个是作为子组件分别接受了两个数据一个是高度height，一个是反显图表数据tempGroupJson
     * 作为子组件例子 <AntVXSix v-model="tempGroupJson" height="720px" />
     */
    props: {
      height: {
        type: String,
        default: '83vh' //'720px'
      },
      value: {
        type: String,
        default: ''
      }
    },
    // 页面公共变量
    data() {
      return {
        // 基本配置
        languages: '',                // 当前语言
        templateid: "",               // 实验模板主键ID
        id: "",                       // 编辑数据的主键ID

        loading_detail: false,                 // 加载框-基本信息
        loading_expProcessOverview: false,     // 加载框-实验流程概览

        expTemplateData: {},          // 实验模板数据
        expTemplateConfigData: {},    // 实验模板关联配置数据
        // 基本信息表单
        basicform:{
          type: '10',                 // 实验模板类型
          taskType: '10',             // 实验任务类型
          templateId: '',             // 实验模板ID
          templateName: '',           // 实验模板名称
          number: '',                 // 实验模板编号
          expectedWorkingHours: 1,    // 实验预计工作时长
        },
        // 表单验证项配置
        rules: {
          name: [{required:true, message:this.$t('common.prompt.rules.expName'), trigger:"blur"}],
          number: [{required:true, message:this.$t('common.prompt.rules.expNumber'), trigger:"blur"}],
          sort: [{required:true, message:this.$t('common.prompt.rules.expSort'), trigger:"blur"}],
          expectedWorkingHours: [{required:true, message:this.$t('common.prompt.rules.expectedWorkingHours'), trigger:"blur"}],
        },

        // 提示框选项表单
        dialogForm: {
          // 选择实验模板的任务类型表单
          selTempType: {
            taskType: '10',            // 实验模板的任务类型
          },
          // 系统工具-贝叶斯优化参数
          edit_BYSYH: {
            workingHours: 0,                      // 工作时长
          },
          // 系统工具-复合机器人参数
          edit_FHJQR: {
            workingHours: 0,                      // 工作时长
          },
          // 自动化物料集散系统-反应釜开盖机参数
          edit_KGJ: {
            workingHours: 0,                      // 工作时长
            operate: 0,                           // 进行操作 0: 开盖 1: 锁盖
          },
          // 自动化物料集散系统-试管开盖机参数
          edit_KGJ2: {
            workingHours: 0,                      // 工作时长
            operate: 0,                           // 进行操作 0: 开盖 1: 锁盖
          },
          // 自动化物料集散系统-物料定位台参数
          edit_WLDWT: {
            workingHours: 0,                      // 工作时长
            selContainer: 1,                      // 选择的实验容器或耗材  1: 反应釜 2: 坩锅 3: 试管 4: 高通量料架 5: 封装料架 6: 烧杯 7: 镍片
            demandAmount: 0,                      // 需求数量
          },
          // 自动化物料集散系统-精密天平参数
          edit_JMTP: {
            workingHours: 0,                      // 工作时长
          },
          // 自动化物料集散系统-超声波清洗机参数
          edit_CSBQXJ: {
            workingHours: 0,                      // 工作时长

            cleanTime: 0,                         // 清洗时长
          },
          // 自动化配料交互系统-高通量配粉系统参数
          edit_GTLPFXT: {
            workingHours: 0,                      // 工作时长

            materialCup1_Status: false,           // 1号料杯 是否启用
            materialCup1_Tank1_Status: false,     // 1号料杯-1号料罐 是否启用
            materialCup1_Tank1_Weight: 0,         // 1号料杯-1号料罐 重量
            materialCup1_Tank2_Status: false,     // 1号料杯-2号料罐 是否启用
            materialCup1_Tank2_Weight: 0,         // 1号料杯-2号料罐 重量
            materialCup1_Tank3_Status: false,     // 1号料杯-3号料罐 是否启用
            materialCup1_Tank3_Weight: 0,         // 1号料杯-3号料罐 重量
            materialCup1_Tank4_Status: false,     // 1号料杯-4号料罐 是否启用
            materialCup1_Tank4_Weight: 0,         // 1号料杯-4号料罐 重量
            materialCup1_Tank5_Status: false,     // 1号料杯-5号料罐 是否启用
            materialCup1_Tank5_Weight: 0,         // 1号料杯-5号料罐 重量

            materialCup2_Status: false,           // 2号料杯 是否启用
            materialCup2_Tank1_Status: false,     // 2号料杯-1号料罐 是否启用
            materialCup2_Tank1_Weight: 0,         // 2号料杯-1号料罐 重量
            materialCup2_Tank2_Status: false,     // 2号料杯-2号料罐 是否启用
            materialCup2_Tank2_Weight: 0,         // 2号料杯-2号料罐 重量
            materialCup2_Tank3_Status: false,     // 2号料杯-3号料罐 是否启用
            materialCup2_Tank3_Weight: 0,         // 2号料杯-3号料罐 重量
            materialCup2_Tank4_Status: false,     // 2号料杯-4号料罐 是否启用
            materialCup2_Tank4_Weight: 0,         // 2号料杯-4号料罐 重量
            materialCup2_Tank5_Status: false,     // 2号料杯-5号料罐 是否启用
            materialCup2_Tank5_Weight: 0,         // 2号料杯-5号料罐 重量

            materialCup3_Status: false,           // 3号料杯 是否启用
            materialCup3_Tank1_Status: false,     // 3号料杯-1号料罐 是否启用
            materialCup3_Tank1_Weight: 0,         // 3号料杯-1号料罐 重量
            materialCup3_Tank2_Status: false,     // 3号料杯-2号料罐 是否启用
            materialCup3_Tank2_Weight: 0,         // 3号料杯-2号料罐 重量
            materialCup3_Tank3_Status: false,     // 3号料杯-3号料罐 是否启用
            materialCup3_Tank3_Weight: 0,         // 3号料杯-3号料罐 重量
            materialCup3_Tank4_Status: false,     // 3号料杯-4号料罐 是否启用
            materialCup3_Tank4_Weight: 0,         // 3号料杯-4号料罐 重量
            materialCup3_Tank5_Status: false,     // 3号料杯-5号料罐 是否启用
            materialCup3_Tank5_Weight: 0,         // 3号料杯-5号料罐 重量

            materialCup4_Status: false,           // 4号料杯 是否启用
            materialCup4_Tank1_Status: false,     // 4号料杯-1号料罐 是否启用
            materialCup4_Tank1_Weight: 0,         // 4号料杯-1号料罐 重量
            materialCup4_Tank2_Status: false,     // 4号料杯-2号料罐 是否启用
            materialCup4_Tank2_Weight: 0,         // 4号料杯-2号料罐 重量
            materialCup4_Tank3_Status: false,     // 4号料杯-3号料罐 是否启用
            materialCup4_Tank3_Weight: 0,         // 4号料杯-3号料罐 重量
            materialCup4_Tank4_Status: false,     // 4号料杯-4号料罐 是否启用
            materialCup4_Tank4_Weight: 0,         // 4号料杯-4号料罐 重量
            materialCup4_Tank5_Status: false,     // 4号料杯-5号料罐 是否启用
            materialCup4_Tank5_Weight: 0,         // 4号料杯-5号料罐 重量

            materialCup5_Status: false,           // 5号料杯 是否启用
            materialCup5_Tank1_Status: false,     // 5号料杯-1号料罐 是否启用
            materialCup5_Tank1_Weight: 0,         // 5号料杯-1号料罐 重量
            materialCup5_Tank2_Status: false,     // 5号料杯-2号料罐 是否启用
            materialCup5_Tank2_Weight: 0,         // 5号料杯-2号料罐 重量
            materialCup5_Tank3_Status: false,     // 5号料杯-3号料罐 是否启用
            materialCup5_Tank3_Weight: 0,         // 5号料杯-3号料罐 重量
            materialCup5_Tank4_Status: false,     // 5号料杯-4号料罐 是否启用
            materialCup5_Tank4_Weight: 0,         // 5号料杯-4号料罐 重量
            materialCup5_Tank5_Status: false,     // 5号料杯-5号料罐 是否启用
            materialCup5_Tank5_Weight: 0,         // 5号料杯-5号料罐 重量

            materialCup6_Status: false,           // 6号料杯 是否启用
            materialCup6_Tank1_Status: false,     // 6号料杯-1号料罐 是否启用
            materialCup6_Tank1_Weight: 0,         // 6号料杯-1号料罐 重量
            materialCup6_Tank2_Status: false,     // 6号料杯-2号料罐 是否启用
            materialCup6_Tank2_Weight: 0,         // 6号料杯-2号料罐 重量
            materialCup6_Tank3_Status: false,     // 6号料杯-3号料罐 是否启用
            materialCup6_Tank3_Weight: 0,         // 6号料杯-3号料罐 重量
            materialCup6_Tank4_Status: false,     // 6号料杯-4号料罐 是否启用
            materialCup6_Tank4_Weight: 0,         // 6号料杯-4号料罐 重量
            materialCup6_Tank5_Status: false,     // 6号料杯-5号料罐 是否启用
            materialCup6_Tank5_Weight: 0,         // 6号料杯-5号料罐 重量
          },
          // 自动化配料交互系统-移液配比系统参数
          edit_YYPBXT: {
            workingHours: 0,                      // 工作时长

            crucible1_Status: false,              // 1号坩埚 是否启用
            crucible1_Aspiration_Weight_A: 0,     // 1号坩埚-A溶剂吸液量
            crucible1_Aspiration_Weight_B: 0,     // 1号料杯-B溶剂吸液量
            crucible1_Aspiration_Weight_C: 0,     // 1号料杯-C溶剂吸液量
            crucible1_Aspiration_Weight_D: 0,     // 1号料杯-D溶剂吸液量

            crucible2_Status: false,              // 2号坩埚 是否启用
            crucible2_Aspiration_Weight_A: 0,     // 2号坩埚-A溶剂吸液量
            crucible2_Aspiration_Weight_B: 0,     // 2号料杯-B溶剂吸液量
            crucible2_Aspiration_Weight_C: 0,     // 2号料杯-C溶剂吸液量
            crucible2_Aspiration_Weight_D: 0,     // 2号料杯-D溶剂吸液量

            crucible3_Status: false,              // 3号坩埚 是否启用
            crucible3_Aspiration_Weight_A: 0,     // 3号坩埚-A溶剂吸液量
            crucible3_Aspiration_Weight_B: 0,     // 3号料杯-B溶剂吸液量
            crucible3_Aspiration_Weight_C: 0,     // 3号料杯-C溶剂吸液量
            crucible3_Aspiration_Weight_D: 0,     // 3号料杯-D溶剂吸液量

            crucible4_Status: false,              // 4号坩埚 是否启用
            crucible4_Aspiration_Weight_A: 0,     // 4号坩埚-A溶剂吸液量
            crucible4_Aspiration_Weight_B: 0,     // 4号料杯-B溶剂吸液量
            crucible4_Aspiration_Weight_C: 0,     // 4号料杯-C溶剂吸液量
            crucible4_Aspiration_Weight_D: 0,     // 4号料杯-D溶剂吸液量
          },
          // 自动化球磨与破碎交互系统-球磨机1参数
          edit_QMJ1: {
            workingHours: 0,                      // 工作时长

            intervalTime: 0,                      // 间隔时间
            burialTime: 0,                        // 冷却时间
            loopNumber: 0,                        // 循环次数

            speed_1: 0,                           // 第1段：转速
            rotationTime_1: 0,                    // 第1段：旋转时间
            coolingTime_1: 0,                     // 第1段：冷却时间

            speed_2: 0,                           // 第2段：转速
            rotationTime_2: 0,                    // 第2段：旋转时间
            coolingTime_2: 0,                     // 第2段：冷却时间

            speed_3: 0,                           // 第3段：转速
            rotationTime_3: 0,                    // 第3段：旋转时间
            coolingTime_3: 0,                     // 第3段：冷却时间
          },
          // 自动化球磨与破碎交互系统-球磨机2参数
          edit_QMJ2: {
            workingHours: 0,                      // 工作时长

            intervalTime: 0,                      // 间隔时间
            burialTime: 0,                        // 冷却时间
            loopNumber: 0,                        // 循环次数

            speed_1: 0,                           // 第1段：转速
            rotationTime_1: 0,                    // 第1段：旋转时间
            coolingTime_1: 0,                     // 第1段：冷却时间

            speed_2: 0,                           // 第2段：转速
            rotationTime_2: 0,                    // 第2段：旋转时间
            coolingTime_2: 0,                     // 第2段：冷却时间

            speed_3: 0,                           // 第3段：转速
            rotationTime_3: 0,                    // 第3段：旋转时间
            coolingTime_3: 0,                     // 第3段：冷却时间
          },
          // 自动化球磨与破碎交互系统-颚式破碎机参数
          edit_ESPSJ: {
            workingHours: 0,                      // 工作时长

            crushTime: 0,                         // 破碎时长
          },
          // 自动化成型与压装交互系统-自动化电池封装机参数
          edit_ZDHDCFZJ: {
            workingHours: 0,                      // 工作时长

            solidity_PackageValue: 0,             // 固态封装数量
            liquid_PackageValue: 0,               // 液态封装数量

            solidity_PressureValue_1: 0,          // 第1段：固态目标压力值
            solidity_PressurizeTime_1: 0,         // 第1段：固态保压时间
            liquid_PressureValue_1: 0,            // 第1段：液态目标压力值
            liquid_PressurizeTime_1: 0,           // 第1段：液态保压时间

            solidity_PressureValue_2: 0,          // 第2段：固态目标压力值
            solidity_PressurizeTime_2: 0,         // 第2段：固态保压时间
            liquid_PressureValue_2: 0,            // 第2段：液态目标压力值
            liquid_PressurizeTime_2: 0,           // 第2段：液态保压时间

            solidity_PressureValue_3: 0,          // 第3段：固态目标压力值
            solidity_PressurizeTime_3: 0,         // 第3段：固态保压时间
            liquid_PressureValue_3: 0,            // 第3段：液态目标压力值
            liquid_PressurizeTime_3: 0,           // 第3段：液态保压时间

            solidity_PressureValue_4: 0,          // 第4段：固态目标压力值
            solidity_PressurizeTime_4: 0,         // 第4段：固态保压时间
            liquid_PressureValue_4: 0,            // 第4段：液态目标压力值
            liquid_PressurizeTime_4: 0,           // 第4段：液态保压时间

            solidity_PressureValue_5: 0,          // 第5段：固态目标压力值
            solidity_PressurizeTime_5: 0,         // 第5段：固态保压时间
            liquid_PressureValue_5: 0,            // 第5段：液态目标压力值
            liquid_PressurizeTime_5: 0,           // 第5段：液态保压时间

            solidity_PressureValue_6: 0,          // 第6段：固态目标压力值
            solidity_PressurizeTime_6: 0,         // 第6段：固态保压时间
            liquid_PressureValue_6: 0,            // 第6段：液态目标压力值
            liquid_PressurizeTime_6: 0,           // 第6段：液态保压时间

            solidity_PressureValue_7: 0,          // 第7段：固态目标压力值
            solidity_PressurizeTime_7: 0,         // 第7段：固态保压时间
            liquid_PressureValue_7: 0,            // 第7段：液态目标压力值
            liquid_PressurizeTime_7: 0,           // 第7段：液态保压时间

            solidity_PressureValue_8: 0,          // 第8段：固态目标压力值
            solidity_PressurizeTime_8: 0,         // 第8段：固态保压时间
            liquid_PressureValue_8: 0,            // 第8段：液态目标压力值
            liquid_PressurizeTime_8: 0,           // 第8段：液态保压时间
          },
          // 自动化成型与压装交互系统-陶瓷压片机参数
          edit_TCYPJ: {
            workingHours: 0,                      // 工作时长
            startPressureValue: 0,                // 起始压力值
            targetPressureValue_1: 0,             // 目标压力值1
            targetPressureValue_2: 0,             // 目标压力值2
            upperPressureValue: 0,                // 压力上限值
            programRunningTime: 0,                // 升压时间
            pressureHoldTime: 0,                  // 保压时长
          },
          // 自动化成型与压装交互系统-刷料机
          edit_SLJ: {
            workingHours: 0,                      // 工作时长
            operate: 0,                           // 进行操作  0: 刷料 1: 剪镍板
            scrapingTime: 0,                      // 刷料时间 (s)
          },
          // 自动化成型与压装交互系统-坩埚转换位
          edit_GGZHW: {
            workingHours: 0,                      // 工作时长
            operate: 0,                           // 进行操作  0: 坩埚转换 1: 内胆开盖
          },
          // 自动化高温烧结交互系统-管式炉参数
          edit_GSL: {
            workingHours: 0,                      // 工作时长
            intakeFlowRate: 0,                    // 进气流量
            programMaxTemperatureValue: 0,        // 程序最高温度值
            scrubbingCirculateCount: 0,           // 洗气循环次数
            autoInletFlowValue: 0,                // 自动进气流量值
            autoLoopCount: 0,                     // 自动循环次数
            doorOpenTemperatureValue: 0,          // 舱门开启温度值
            heatLoopProgramNumber: 0,             // 加热循环程序段号
            washingGasTimeoutTime: 0,             // 洗气超时时间
            constantVoltageEnable: 0,             // 恒压功能启用
            vacuumLowerLimitValue: 0,             // 真空下限值
            hatchOpenPressureLowerLimit: 0,       // 舱门开启压力下限
            hatchOpenPressureUpperLimit: 0,       // 舱门开启压力上限
            furnaceTubePressureAlarmValue: 0,     // 炉管压力报警值
            constantVoltageRangeLowerLimit: 0,    // 恒压范围下限
            constantVoltageRangeUpperLimit: 0,    // 恒压范围上限

            param: [{key: Date.now(), time: 0, temperature: 0}],
          },
          // 自动化高温烧结交互系统-下装炉参数
          edit_XZL: {
            workingHours: 0,                      // 工作时长
            doorVelocity: 0,                      // 舱门升降速度
            temperaturePeakValue: 0,              // 程序最高温度值
            doorOpenTemperature: 0,               // 舱门开启温度值

            param: [{key: Date.now(), time: 0, temperature: 0}],
          },
          // 自动化电化学测试交互系统-固固测试平台参数
          edit_GGCSPT: {
            workingHours: 0,                      // 工作时长
          },
          // 自动化电化学测试交互系统-固液测试平台参数
          edit_GYCSPT: {
            workingHours: 0,                      // 工作时长
            peristalticPumpNumber: 0,             // 蠕动泵工号
          },
          // 自动化电化学测试交互系统-电化学测试仪器参数
          edit_DHXCSYQ: {
            workingHours: 0,                      // 工作时长
            selExpId: "0",                        // 选择实验ID
            selExpName: "开路电位(电分析)",        // 选择实验名称

            // 实验配置-0 开路电位(电分析)
            expconfig_kldw: {
              timePerPoint: 0,                    // 每点时间
              continueTime: 0,                    // 实验持续时间
            },
            // 实验配置-1 线性扫描伏安法(LSV)
            expconfig_xxsmfaf: {
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              scanRate: 0,                        // 扫描速率(V/s)
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-2 循环伏安法
            expconfig_xhfaf: {
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              scanRate: 0,                        // 扫描速率(V/s)
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-3 循环伏安法(多循环)
            expconfig_xhfafdxh: {
              isUseInitialPotential: 0,           // 是否使用初始电位  使用为1 不使用为0
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              topPotential1: 0,                   // 顶点电位1(V)
              topPotential1VSType: 0,             // 顶点电位1参考类型  VSRef设置0 VSOC设置1
              topPotential2: 0,                   // 顶点电位2(V)
              topPotential2VSType: 0,             // 顶点电位2参考类型  VSRef设置0 VSOC设置1
              isUseFinallyPotential: 0,           // 是否使用最终电位  使用为1 不使用为0
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              scanRate: 0,                        // 扫描速率(V/s)
              cycleCount: 0,                      // 循环次数
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-4 恒电位
            expconfig_hdw: {
              timePerPoint: 0,                    // 每点时间
              continueTime: 0,                    // 实验持续时间
              initialPotential: 0,                // 阶跃电位(V)
              initialPotentialVSType: 0,          // 参考类型  VSRef设置0 VSOC设置1
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-5 恒电流
            expconfig_hdl: {
              timePerPoint: 0,                    // 每点时间
              continueTime: 0,                    // 实验持续时间
              current: 0,                         // 阶跃电流(mA)
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-6 交流阻抗(电压)
            expconfig_jlzkdy: {
              isVolEIS: 1,                        // 控制电压EIS: 1 true 控制电流EIS: 0 false
              startFreq: 0,                       // 开始频率(Hz)
              endFreq: 0,                         // 结束频率(Hz)
              amplitude: 0,                       // 振幅 (mA)
              intervalType: 0,                    // 点间距 只有0和1  0代表线形 1代表对数
              pointCount: 10,                     // 每十进间距点数  默认10
              voltage: 0,                         // 电位(V)
              voltageVSType: 0,                   // 电位参考类型  VSRef设置0 VSOC设置1
            },
            // 实验配置-7 交流阻抗(电流)
            expconfig_jlzkdl: {
              isVolEIS: 0,                        // 控制电压EIS: 1 true 控制电流EIS: 0 false
              startFreq: 0,                       // 开始频率(Hz)
              endFreq: 0,                         // 结束频率(Hz)
              amplitude: 0,                       // 振幅 (mA)
              intervalType: 0,                    // 点间距 只有0和1  0代表线形 1代表对数
              pointCount: 10,                     // 每十进间距点数  默认10
              voltage: 0,                         // 直流输出(mA)
            },
            // 实验配置-8 阶梯循环伏安法
            expconfig_jtxhfaf: {
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              topPotential1: 0,                   // 顶点电位(V)
              topPotential1VSType: 0,             // 顶点电位参考类型  VSRef设置0 VSOC设置1
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              stepHeight: 0,                      // 阶跃高度(mV)
              stepTime: 0,                        // 阶跃时间(s)
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-9 阶梯循环伏安法(多循环)
            expconfig_jtxhfafdxh: {
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              topPotential1: 0,                   // 顶点电位1(V)
              topPotential1VSType: 0,             // 顶点电位1参考类型  VSRef设置0 VSOC设置1
              topPotential2: 0,                   // 顶点电位2(V)
              topPotential2VSType: 0,             // 顶点电位2参考类型  VSRef设置0 VSOC设置1
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              stepHeight: 0,                      // 阶跃高度(mV)
              stepTime: 0,                        // 阶跃时间(s)
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-10 阶梯线性扫描伏安法(SLSV)
            expconfig_jtxxsmfafslsv: {
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              stepHeight: 0,                      // 阶跃高度(mV)
              stepTime: 0,                        // 阶跃时间(s)
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
            // 实验配置-11 Tafel
            expconfig_tafel: {
              initialPotential: 0,                // 最初电位(V)
              initialPotentialVSType: 0,          // 最初电位参考类型  VSRef设置0 VSOC设置1
              finallyPotential: 0,                // 最终电位(V)
              finallyPotentialVSType: 0,          // 最终电位参考类型  VSRef设置0 VSOC设置1
              stepHeight: 0,                      // 阶跃高度(mV)
              stepTime: 0,                        // 阶跃时间(s)
              isVoltageRandAuto: 0,               // 电压是否自动量程  自动设置1 非自动设置0
              voltageRand: 10,                    // 电压量程(mV)
              isCurrentRandAuto: 0,               // 电流是否自动量程  自动设置1 非自动设置0
              currentRand: 10,                    // 电流量程(mA)
            },
          },
          // 自动化XRD测试交互系统-XRD测试仪参数
          edit_XRDCSY: {
            workingHours: 0,                      // 工作时长

            highVoltageKV: 0,                     // 设定高压 (千伏)
            highVoltagemA: 0,                     // 设定高压 (毫安)
            startAngle: 0,                        // 起始角度
            endAngle: 0,                          // 终止角度
            measureVelocity: 0,                   // 测量速度
            measureStep: 0,                       // 测量步宽
          },
          // 自动化干燥系统-自动化烘干机参数
          edit_ZDHHGJ: {
            workingHours: 0,                      // 工作时长
            settingTemperature: 0,                // 设定温度
            settingRotateSpeed: 0,                // 设定转速
            settingTime: 0,                       // 设定时间

            param: [{key: Date.now(), time: 0, temperature: 0, speed: 0}],
          },
        },
        // 提示框表单数据源
        dialogFormDataSource: {
          // 自动化电化学测试交互系统-电化学测试仪器参数
          dt_DHXCSYQ: {
            // 可选实验数据源
            expData: [
              { id: "0", name: this.$t('common.label.electroChemistryExp0') },
              { id: "1", name: this.$t('common.label.electroChemistryExp1') },
              { id: "2", name: this.$t('common.label.electroChemistryExp2') },
              { id: "3", name: this.$t('common.label.electroChemistryExp3') },
              { id: "4", name: this.$t('common.label.electroChemistryExp4') },
              { id: "5", name: this.$t('common.label.electroChemistryExp5') },
              { id: "6", name: this.$t('common.label.electroChemistryExp6') },
              { id: "7", name: this.$t('common.label.electroChemistryExp7') },
              { id: "8", name: this.$t('common.label.electroChemistryExp8') },
              { id: "9", name: this.$t('common.label.electroChemistryExp9') },
              { id: "10", name: this.$t('common.label.electroChemistryExp10') },
              { id: "11", name: this.$t('common.label.electroChemistryExp11') },
            ]
          },
        },
        // 已保存的提示框表单
        dialogSaveForm: [],
        // 提示框开关配置
        dialogVisibleConfig: {
          selTempType: false,               // 选择实验模板的任务类型
          edit_BYSYH: false,                // 编辑 系统工具-贝叶斯优化 参数
          edit_FHJQR: false,                // 编辑 系统工具-复合机器人 参数
          edit_KGJ: false,                  // 编辑 自动化物料集散系统-反应釜开盖机 参数
          edit_KGJ2: false,                 // 编辑 自动化物料集散系统-试管开盖机 参数
          edit_WLDWT: false,                // 编辑 自动化物料集散系统-物料定位台 参数
          edit_JMTP: false,                 // 编辑 自动化物料集散系统-精密天平 参数
          edit_CSBQXJ: false,               // 编辑 自动化物料集散系统-超声波清洗机 参数
          edit_GTLPFXT: false,              // 编辑 自动化配料交互系统-高通量配粉系统 参数
          edit_YYPBXT: false,               // 编辑 自动化配料交互系统-移液配比系统 参数
          edit_QMJ1: false,                 // 编辑 自动化球磨与破碎交互系统-球磨机1 参数
          edit_QMJ2: false,                 // 编辑 自动化球磨与破碎交互系统-球磨机2 参数
          edit_ESPSJ: false,                // 编辑 自动化球磨与破碎交互系统-颚式破碎机 参数
          edit_ZDHDCFZJ: false,             // 编辑 自动化成型与压装交互系统-自动化电池封装机 参数
          edit_TCYPJ: false,                // 编辑 自动化成型与压装交互系统-陶瓷压片机 参数
          edit_SLJ: false,                  // 编辑 自动化成型与压装交互系统-刷料机 参数
          edit_GGZHW: false,                // 编辑 自动化成型与压装交互系统-坩埚转换位 参数
          edit_GSL: false,                  // 编辑 自动化高温烧结交互系统-管式炉 参数
          edit_XZL: false,                  // 编辑 自动化高温烧结交互系统-下装炉 参数
          edit_GGCSPT: false,               // 编辑 自动化电化学测试交互系统-固固测试平台 参数
          edit_GYCSPT: false,               // 编辑 自动化电化学测试交互系统-固液测试平台 参数
          edit_DHXCSYQ: false,              // 编辑 自动化电化学测试交互系统-电化学测试仪器 参数
          edit_XRDCSY: false,               // 编辑 自动化XRD测试交互系统-XRD测试仪 参数
          edit_ZDHHGJ: false,               // 编辑 自动化干燥系统-自动化烘干机 参数
        },

        // 组件库配置
        expandAllAssembly: false,           // 是否展开全部组件面板
        activeAssemblyNames: [],            // 当前激活的面板
        assemblyData: assembly,             // 组件库配置数据

        // 组件编辑配置
        graph: null,                  // 组件编辑区容器
        isChange: false,              // 是否选中
        isPortsShow: false,           // 是否显示链接桩
        autoLayoutMode: false,        // 自动布局模式  true: 贝叶斯优化  false: 单任务
        menuItem: '',                 // 选择的菜单节点名称
        selectCell: '',               // 选择的节点
        editDrawer: false,            // 是否显示节点属性编辑区
        editTitle: '',                // 节点信息区标题
        form:{},                      // 组件信息表单
        // 文本信息表单
        labelForm: {
          fontColor: '#333',
          fill: '#FFF',
          stroke: '#555'
        },
        // 默认组件定位配置-单任务
        assemblyLocation: [
          // 第一行
          [80,70], [310,70], [540,70], [760,70],
          // 第二行
          [760,300], [540,300], [310,300], [80,300],
          // 第三行
          [80,530], [310,530], [540,530], [760,530],
        ],
        // 默认组件连线配置-单任务
        assemblyRouteConfig: [
          // 第一行：从左至右
          {startNodeIndex: 0, startPort: 'right', endNodeIndex: 1, endPort: 'left'},
          {startNodeIndex: 1, startPort: 'right', endNodeIndex: 2, endPort: 'left'},
          {startNodeIndex: 2, startPort: 'right', endNodeIndex: 3, endPort: 'left'},
          {startNodeIndex: 3, startPort: 'right', endNodeIndex: 4, endPort: 'left'},
          // 第二行：从右至左
          {startNodeIndex: 4, startPort: 'bottom', endNodeIndex: 5, endPort: 'top'},
          {startNodeIndex: 5, startPort: 'left', endNodeIndex: 6, endPort: 'right'},
          {startNodeIndex: 6, startPort: 'left', endNodeIndex: 7, endPort: 'right'},
          {startNodeIndex: 7, startPort: 'left', endNodeIndex: 8, endPort: 'right'},
          // 第三行：从左至右
          {startNodeIndex: 8, startPort: 'bottom', endNodeIndex: 9, endPort: 'top'},
          {startNodeIndex: 9, startPort: 'right', endNodeIndex: 10, endPort: 'left'},
          {startNodeIndex: 10, startPort: 'right', endNodeIndex: 11, endPort: 'left'},
          {startNodeIndex: 11, startPort: 'right', endNodeIndex: 12, endPort: 'left'},
        ],
        // 默认组件定位配置-迭代优化任务
        assemblyLocationBayes: [
          // 第一行
          [80,70], [310,70], [540,70], [760,70],
          // 第二行
          [760,300],
          // 第三行
          [760,530], [540,530], [310,530], [80,530],
          // 第二行
          [80,300],
        ],
        // 默认组件连线配置-迭代优化任务
        assemblyRouteConfigBayes: [
          // 第一行：从左至右
          {startNodeIndex: 0, startPort: 'right', endNodeIndex: 1, endPort: 'left'},
          {startNodeIndex: 1, startPort: 'right', endNodeIndex: 2, endPort: 'left'},
          {startNodeIndex: 2, startPort: 'right', endNodeIndex: 3, endPort: 'left'},
          {startNodeIndex: 3, startPort: 'right', endNodeIndex: 4, endPort: 'left'},
          // 第二行：从上至下
          {startNodeIndex: 4, startPort: 'bottom', endNodeIndex: 5, endPort: 'top'},
          // 第三行：从右至左
          {startNodeIndex: 5, startPort: 'bottom', endNodeIndex: 6, endPort: 'top'},
          {startNodeIndex: 6, startPort: 'left', endNodeIndex: 7, endPort: 'right'},
          {startNodeIndex: 7, startPort: 'left', endNodeIndex: 8, endPort: 'right'},
          {startNodeIndex: 8, startPort: 'left', endNodeIndex: 9, endPort: 'right'},
          // 第二行：从下至上
          {startNodeIndex: 9, startPort: 'top', endNodeIndex: 10, endPort: 'bottom'},
          {startNodeIndex: 10, startPort: 'top', endNodeIndex: 1, endPort: 'bottom'},
        ],
      }
    },
    watch:{
      value:{
        handler: function(){
          if(this.graph){
            this.isChange = false
            this.isPortsShow = false
            this.menuItem = ''
            this.selectCell = ''
            this.editDrawer = false
            this.graph.dispose()
            this.initGraph()
          }
        },
        deep: true,
        immediate: true
      }
    },
    // 缓存值
    computed: {
      // 默认值表单
      dialogDefaultForm() {
        // 将源变量复制到新变量中
        return JSON.parse(JSON.stringify(this.dialogForm));
      },
    },
    // 页面创建完成事件
    async created() {
      // 接收路由传递的参数
      const { templateid, id, type } = this.$route.params;

      // 将接收到的数据填充至页面公共变量
      this.templateid = templateid;
      this.id = id;
      this.basicform.taskType = type;

      // 当前编辑的类型为迭代优化时将自动选中
      if (type === "30") {
        this.autoLayoutMode = true;
      }

      this.languages = localStorage.getItem('language') || 'zh_CN';

      // 初始化
      this.init();
    },
    // 实例挂载完成事件
    mounted() {
      //this.init();
      this.initGraph();
    },
    beforeDestroy() {
      this.graph.dispose();
    },
    // 页面相关方法
    methods: {
      // ======================================== 基本信息相关 ========================================

      // 刷新当前页面
      refresh() {
        this.$confirm(this.$t('common.prompt.info.isRefresh'), this.$t('common.dialog.tip'), {
          confirmButtonText: this.$t('common.dialog.confirm'),
          cancelButtonText: this.$t('common.dialog.cancel'),
          type: 'warning'
        }).then(() => {
          this.graph.clearCells();    // 清空全部节点
          //this.basicform = {};        // 清空基本信息表单内容
          this.editDrawer = false;    // 关闭组件编辑区
          //this.$router.go(0);
        }).catch(() => {
          //this.$message({type: 'info', message: '已取消重置操作'});
        });
      },
      // 获取静态图片资源
      getImgSrc(url) {
        return require(url);
      },
      // 初始化页面数据
      async init() {
        // 如果当前传入主键ID时则查询详情信息
        if (this.id != undefined) {
          // 获取详情数据
          await this.getDataInfo();
        } else {
          // 初始化实验任务编号
          await CreateExperimentNumber().then((res) => {
            this.basicform.number = res.data;
          });
        }
      },
      // 获取详情数据
      async getDataInfo() {
        this.$message({type: 'info', message: this.$t('common.prompt.info.templateConfigLoading'), duration: 5000, showClose: true});

        // 打开实验流程加载框
        this.loading_expProcessOverview = true;

        // 获取实验模板详情数据
        await ExperimentTemplateDetail({
          Id: this.templateid
        }).then((res) => {
          if (res.success === true) {
            this.expTemplateData = res.data;
            this.basicform.templateId = res.data.id;
            this.basicform.templateName = res.data.name;
            this.basicform.type = res.data.type;
            this.basicform.number = res.data.number;
          }
        });

        // 获取详情数据
        const { data, data2 } = await ExperimentTemplateConfigDetail({
          Id: this.id
        });
        if (data !== null) {
          // 设置表单数据
          this.expTemplateConfigData = data;
          this.basicform.taskType = data.type;
          //this.basicform.expectedWorkingHours = parseInt(data.expectedWorkingHours);
          this.dialogSaveForm = data2;

          // 重新统计预计工作时长
          this.reStatisticsExpectedWorkingHours();

          // 初始化流程配置
          this.graph.clearCells();    // 清空全部节点
          const flowPathConfigData = eval(data.flowPathConfig);
          this.graph.fromJSON(flowPathConfigData);

          // 关闭实验流程加载框
          this.loading_expProcessOverview = false;

          this.$message({type: 'success', message: this.$t('common.prompt.success.templateConfigLoading')});
        } else {
          // 关闭实验流程加载框
          this.loading_expProcessOverview = false;

          this.$message({type: 'info', message: this.$t('common.prompt.info.notHaveTemplateConfig')});
        }
      },

      // ======================================== 提示框组件参数编辑相关 ========================================

      // 重置表单
      resetForm(formName) {
        this.$refs[formName].resetFields();
      },
      // 新增管式炉参数节点
      addGSLparam() {
        if (this.dialogForm.edit_GSL.param.length == 16) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.supportsUpTo16ParameterSegments')});
          return;
        }
        this.dialogForm.edit_GSL.param.push({
          key: Date.now(),
          time: 0,
          temperature: 0,
        });
      },
      // 删除管式炉参数节点
      removeGSLparam(item) {
        if (this.dialogForm.edit_GSL.param.length == 1) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.retainAtLeastOneParameter')});
          return;
        }
        var index = this.dialogForm.edit_GSL.param.indexOf(item);
        if (index !== -1) {
          this.dialogForm.edit_GSL.param.splice(index, 1);
        }
      },
      // 新增下装炉参数节点
      addXZLparam() {
        if (this.dialogForm.edit_XZL.param.length == 16) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.supportsUpTo16ParameterSegments')});
          return;
        }
        this.dialogForm.edit_XZL.param.push({
          key: Date.now(),
          time: 0,
          temperature: 0,
        });
      },
      // 删除下装炉参数节点
      removeXZLparam(item) {
        if (this.dialogForm.edit_XZL.param.length == 1) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.retainAtLeastOneParameter')});
          return;
        }
        var index = this.dialogForm.edit_XZL.param.indexOf(item);
        if (index !== -1) {
          this.dialogForm.edit_XZL.param.splice(index, 1);
        }
      },
      // 新增自动化烘干机参数节点
      addZDHHGJparam() {
        if (this.dialogForm.edit_ZDHHGJ.param.length == 30) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.supportsUpTo30ParameterSegments')});
          return;
        }
        this.dialogForm.edit_ZDHHGJ.param.push({
          key: Date.now(),
          time: 0,
          temperature: 0,
          speed: 0,
        });
      },
      // 删除自动化烘干机参数节点
      removeZDHHGJparam(item) {
        if (this.dialogForm.edit_ZDHHGJ.param.length == 1) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.retainAtLeastOneParameter')});
          return;
        }
        var index = this.dialogForm.edit_ZDHHGJ.param.indexOf(item);
        if (index !== -1) {
          this.dialogForm.edit_ZDHHGJ.param.splice(index, 1);
        }
      },
      // 电化学测试仪器-选择实验下拉框选择事件
      changeDHXCSYQExp(val){
        let obj = this.dialogFormDataSource.dt_DHXCSYQ.expData.find(item => item.id === val);
        if (obj) {
          this.dialogForm.edit_DHXCSYQ.selExpId = obj.id;
          this.dialogForm.edit_DHXCSYQ.selExpName = obj.name;
        } else {
          this.dialogForm.edit_DHXCSYQ.selExpId = '';
          this.dialogForm.edit_DHXCSYQ.selExpName = '';
        }
      },
      // 移液配比系统-状态选择事件
      changeYYPBXTstatus(event, item){
        // console.log(event);
        // console.log(item);
        if (event === true) {
          switch (item) {
            case 1:
              //this.dialogForm.edit_YYPBXT.crucible1_Status = false;
              this.dialogForm.edit_YYPBXT.crucible2_Status = false;
              this.dialogForm.edit_YYPBXT.crucible3_Status = false;
              this.dialogForm.edit_YYPBXT.crucible4_Status = false;
              break;
            case 2:
              this.dialogForm.edit_YYPBXT.crucible1_Status = false;
              //this.dialogForm.edit_YYPBXT.crucible2_Status = false;
              this.dialogForm.edit_YYPBXT.crucible3_Status = false;
              this.dialogForm.edit_YYPBXT.crucible4_Status = false;
              break;
            case 3:
              this.dialogForm.edit_YYPBXT.crucible1_Status = false;
              this.dialogForm.edit_YYPBXT.crucible2_Status = false;
              //this.dialogForm.edit_YYPBXT.crucible3_Status = false;
              this.dialogForm.edit_YYPBXT.crucible4_Status = false;
              break;
            case 4:
              this.dialogForm.edit_YYPBXT.crucible1_Status = false;
              this.dialogForm.edit_YYPBXT.crucible2_Status = false;
              this.dialogForm.edit_YYPBXT.crucible3_Status = false;
              //this.dialogForm.edit_YYPBXT.crucible4_Status = false;
              break;
          }
        }
      },

      // ======================================== 组件编辑相关 ========================================

      // 是否展开全部组件事件
      changeExpandAllAssembly(val) {
        if (val === true) {
          // 激活右侧组件库全部面板
          this.assemblyData.map(item => {
            this.activeAssemblyNames.push(item.groupName);
          });
        } else {
          // 取消激活右侧组件库全部面板
          this.activeAssemblyNames = [];
        }
      },
      // 链接桩的显示与隐藏，主要是照顾菱形
      changePortsShow(val) {
        const container = document.getElementById('wrapper');
        const ports = container.querySelectorAll('.x6-port-body');
        for (let i = 0, len = ports.length; i < len; i = i + 1) {
          ports[i].style.visibility = val ? 'visible' : 'hidden';
        }
      },
      // 初始化渲染画布
      initGraph() {
        const graph = new Graph({
          container: document.getElementById('wrapper'),
          ...configSetting(Shape)
        });

        // 画布事件
        graph.on('node:mouseenter', () => { this.changePortsShow(true); });
        graph.on('node:mouseleave', () => { if(this.isPortsShow) return; this.changePortsShow(false); });

        // 点击编辑
        //graph.on('cell:click', ({cell}) => { this.editForm(cell); });
        graph.on('cell:click', ({cell}) => { this.editConfig(cell); });

        // 画布键盘事件
        graphBindKey(graph);

        // 删除
        graph.on('cell:contextmenu', ({cell}) => { this.handlerDel(); });
        graph.bindKey(['delete','backspace'], () => { this.handlerDel(); });

        // 赋值
        this.graph = graph;

        // 返现方法
        if(this.value && JSON.parse(this.value).length) {
          const resArr = JSON.parse(this.value);
          // 导出的时候删除了链接桩设置加回来
          const portsGroups = configNodePorts().groups;
          if(resArr.length) {
            const jsonTemp = resArr.map(item => {
              if(item.ports) item.ports.groups = portsGroups
              return item;
            });
            graph.fromJSON(jsonTemp);
          }
        }

        // 画布有变化
        graph.on('cell:changed', () => { this.isChangeValue(); });
      },
      // 画布是否有变动
      isChangeValue() {
        if(!this.isChange) {
          this.isChange = true;
          this.$emit('cellChanged', true);
        }
      },
      // 根据type获取到不同节点的预设参数
      menuDrag(type, param) {
        this.menuItem = configNodeShape(type, param);
      },
      // 节点预设 ，添加位置信息和链接桩信息组合成完整的节点
      drop(event) {
        let nodeItem = {
          ...this.menuItem,
          size: {
            width: 100,
            height: 100
          },
          x: event.offsetX - (this.menuItem.width / 2),
          y: event.offsetY - (this.menuItem.height / 2),
          ports: configNodePorts(),
          createTime: new Date().toLocaleString()
        }
        //console.log(nodeItem);

        // 检查当前是否已存在贝叶斯优化节点，如果已存在时则无法继续添加节点
        if (this.checkBayesNode() === true) {
          this.$message({type: 'error', message: this.$t('common.prompt.error.unableAddNode')});
          return;
        }

        // 组件自动布局
        if (this.autoLayoutMode === true) {
          if (this.getImgNodeData().length < 10) {
            let location = this.calculateLocation();
            nodeItem.x = location[0];
            nodeItem.y = location[1];
          }
        } else {
          if (this.getImgNodeData().length < 12) {
            let location = this.calculateLocation();
            nodeItem.x = location[0];
            nodeItem.y = location[1];
          }
        }

        // 创建节点
        this.graph.addNode(nodeItem);
        this.isChangeValue();

        // 添加连接线
        this.setEdge(this.getImgNodeData().length);

        // 当前节点为贝叶斯优化时则添加终止连接线
        if (nodeItem.attrs.label.tag === '贝叶斯优化') {
          this.setEndEdge();
        }
        // 当前为 迭代优化布局模式 并且 已经填满节点时 再添加一条结尾连接线
        else if (this.autoLayoutMode === true && this.getImgNodeData().length === 10) {
          this.setEdge(this.getImgNodeData().length + 1);
        }
      },
      // 计算节点位置
      calculateLocation() {
        if(this.autoLayoutMode === false) {
          return this.assemblyLocation[this.getImgNodeData().length];
        } else {
          return this.assemblyLocationBayes[this.getImgNodeData().length];
        }
      },
      // 添加节点连接线
      setEdge(index) {
        try {
          let imgNodeData = this.getImgNodeData();        // 图片节点数据
          //let routeIndex = imgNodeData.length;          // 图片节点数据长度
          let routeIndex = index;                         // 图片节点数据长度
          let routeConfig = this.autoLayoutMode === false ? this.assemblyRouteConfig[routeIndex - 1] : this.assemblyRouteConfigBayes[routeIndex - 1];

          let startNode = imgNodeData[routeConfig.startNodeIndex - 1];   // 源节点
          let endNode = imgNodeData[routeConfig.endNodeIndex - 1];       // 目标节点

          let startPort = startNode.port.ports.find(item => {return item.group === routeConfig.startPort});
          let endPort = endNode.port.ports.find(item => {return item.group === routeConfig.endPort});

          this.graph.addEdge({
            // 源节点 ID 和链接桩 ID
            source: {
              cell: startNode.id,
              port: startPort.id,
            },
            // 目标节点 ID 和链接桩 ID
            target: {
              cell: endNode.id,
              port: endPort.id,
            },
            // 连接线样式
            attrs: {
              line: {
                stroke: "#A2B1C3",    // 颜色
                strokeDasharray: 5,
                style: {
                  animation: 'ant-line 30s infinite linear',  // 动画
                }
              },
            },
          });
        } catch (ex) {
          // 异常可能为超出索引导致，不进行处理即可
        }
      },
      // 添加终点节点连接线
      setEndEdge() {
        try {
          let imgNodeData = this.getImgNodeData();        // 图片节点数据
          let routeIndex = imgNodeData.length;          // 图片节点数据长度
          let routeConfig = this.autoLayoutMode === false ? this.assemblyRouteConfig[routeIndex] : this.assemblyRouteConfigBayes[routeIndex];

          let startNode = imgNodeData[routeConfig.startNodeIndex - 1];   // 源节点
          let endNode = imgNodeData[0];       // 目标节点

          let startPort = startNode.port.ports.find(item => {return item.group === routeConfig.startPort});
          let endPort = endNode.port.ports.find(item => {return item.group === 'bottom'});

          this.graph.addEdge({
            // 源节点 ID 和链接桩 ID
            source: {
              cell: startNode.id,
              port: startPort.id,
            },
            // 目标节点 ID 和链接桩 ID
            target: {
              cell: endNode.id,
              port: endPort.id,
            },
            // 连接线样式
            attrs: {
              line: {
                stroke: "#A2B1C3",    // 颜色
                strokeDasharray: 5,
                style: {
                  animation: 'ant-line 30s infinite linear',  // 动画
                }
              },
            },
          });
        } catch (ex) {
          // 异常可能为超出索引导致，不进行处理即可
        }
      },
      // 刷新节点位置
      resetLocation() {
        // 获取图片节点
        let cells = this.getImgNodeData();

        // 将所有图片节点按照默认顺序重新排序
        let tmpLocation = [];
        for (let i = 0; i < cells.length; i++) {
          if (this.autoLayoutMode === true) {
            tmpLocation = this.assemblyLocationBayes[i];
            cells[i].position(tmpLocation[0], tmpLocation[1]);
          } else {
            tmpLocation = this.assemblyLocation[i];
            cells[i].position(tmpLocation[0], tmpLocation[1]);
          }
        }

        // 删除所有连接线节点
        this.delAllLineNode();

        // 对所有图片节点进行重新连线
        let routeConfig = [];
        for (let i = 0; i < cells.length; i++) {
          try {
            // 获取连线配置
            if (this.autoLayoutMode === true) {
              routeConfig = this.assemblyRouteConfigBayes[i];
            } else {
              routeConfig = this.assemblyRouteConfig[i];
            }

            // 获取源节点信息
            let startNode = cells[routeConfig.startNodeIndex - 1];
            // 获取目标节点信息
            let endNode = cells[routeConfig.endNodeIndex - 1];

            // 开始链接桩
            let startPort = startNode.port.ports.find(item => {return item.group === routeConfig.startPort});
            // 结束链接桩
            let endPort = endNode.port.ports.find(item => {return item.group === routeConfig.endPort});

            // 添加连线节点
            this.graph.addEdge({
              // 源节点 ID 和链接桩 ID
              source: {
                cell: startNode.id,
                port: startPort.id,
              },
              // 目标节点 ID 和链接桩 ID
              target: {
                cell: endNode.id,
                port: endPort.id,
              },
              // 连接线样式
              attrs: {
                line: {
                  stroke: "#A2B1C3",    // 颜色
                  strokeDasharray: 5,
                  style: {
                    animation: 'ant-line 30s infinite linear',  // 动画
                  }
                },
              },
            });
          } catch (ex) {
            // 异常可能为超出索引导致，不进行处理即可
          }
        }
      },
      // 删除全部线接线节点
      delAllLineNode() {
        var nodeArrays = this.graph.getCells().filter(function(item){
          return item.store.data.shape == 'edge';
        });
        this.graph.removeCells(nodeArrays);
      },
      // 检查贝叶斯优化节点是否存在
      checkBayesNode() {
        var nodeArrays = this.graph.getCells().filter(function(item){
          return item.label == '图片' && item.attrs.label.tag === '贝叶斯优化';
        });
        return nodeArrays.length > 0;
      },
      // 获取图片节点数据
      getImgNodeData() {
        var imgNodeArrays = this.graph.getCells().filter(function(item){
          return item.label == '图片';
        });
        return imgNodeArrays;
      },
      // 重新统计预计工作时长
      reStatisticsExpectedWorkingHours() {
        this.basicform.expectedWorkingHours = 0;
        let tmpNodeData = {};
        for (let i = 0; i < this.dialogSaveForm.length; i++) {
          tmpNodeData = this.dialogSaveForm[i];
          this.basicform.expectedWorkingHours += parseInt(tmpNodeData.workingHours);
        }
      },
      // 编辑节点参数
      editConfig(cell) {
        //console.log(cell.attrs.label.tag);
        this.selectCell = cell;                       // 存储当前选中的节点数据
        this.dialogForm = this.dialogDefaultForm;     // 重置表单默认值

        try {
          switch (cell.attrs.label.tag) {
            case '贝叶斯优化':
              {
                try {
                  this.dialogForm.edit_BYSYH = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_BYSYH = true;
              }
              break;
            case '复合机器人':
              {
                try {
                  this.dialogForm.edit_FHJQR = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_FHJQR = true;
              }
              break;
            case '反应釜开盖机':
              {
                try {
                  this.dialogForm.edit_KGJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_KGJ = true;
              }
              break;
            case '试管开盖机':
              {
                try {
                  this.dialogForm.edit_KGJ2 = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_KGJ2 = true;
              }
              break;
            case '物料定位台':
              {
                try {
                  this.dialogForm.edit_WLDWT = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_WLDWT = true;
              }
              break;
            case '精密天平':
              {
                try {
                  this.dialogForm.edit_JMTP = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_JMTP = true;
              }
              break;
            case '超声波清洗机':
              {
                try {
                  this.dialogForm.edit_CSBQXJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_CSBQXJ = true;
              }
              break;
            case '高通量配粉系统':
              {
                try {
                  this.dialogForm.edit_GTLPFXT = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_GTLPFXT = true;
              }
              break;
            case '移液配比系统':
              {
                try {
                  this.dialogForm.edit_YYPBXT = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_YYPBXT = true;
              }
              break;
            case '球磨机1':
              {
                try {
                  this.dialogForm.edit_QMJ1 = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_QMJ1 = true;
              }
              break;
            case '球磨机2':
              {
                try {
                  this.dialogForm.edit_QMJ2 = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_QMJ2 = true;
              }
              break;
            case '颚式破碎机':
              {
                try {
                  this.dialogForm.edit_ESPSJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_ESPSJ = true;
              }
              break;
            case '自动化电池封装机':
              {
                try {
                  this.dialogForm.edit_ZDHDCFZJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_ZDHDCFZJ = true;
              }
              break;
            case '陶瓷压片机':
              {
                try {
                  this.dialogForm.edit_TCYPJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_TCYPJ = true;
              }
              break;
            case '刷料机':
              {
                try {
                  this.dialogForm.edit_SLJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_SLJ = true;
              }
              break;
            case '坩埚转换位':
              {
                try {
                  this.dialogForm.edit_GGZHW = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_GGZHW = true;
              }
              break;
            case '管式炉':
              {
                try {
                  this.dialogForm.edit_GSL = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_GSL = true;
              }
              break;
            case '下装炉':
              {
                try {
                  this.dialogForm.edit_XZL = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_XZL = true;
              }
              break;
            case '固固测试平台':
              {
                try {
                  this.dialogForm.edit_GGCSPT = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_GGCSPT = true;
              }
              break;
            case '固液测试平台':
              {
                try {
                  this.dialogForm.edit_GYCSPT = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_GYCSPT = true;
              }
              break;
            case '电化学测试仪器':
              {
                try {
                  this.dialogForm.edit_DHXCSYQ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_DHXCSYQ = true;
              }
              break;
            case 'XRD测试仪':
              {
                try {
                  this.dialogForm.edit_XRDCSY = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_XRDCSY = true;
              }
              break;
            case '自动化烘干机':
              {
                try {
                  this.dialogForm.edit_ZDHHGJ = this.dialogSaveForm.find(item => item.id === cell.id).data;
                } catch (ex) {}
                this.dialogVisibleConfig.edit_ZDHHGJ = true;
              }
              break;
          }
        } catch (ex) {
          this.editForm(this.selectCell);
        }
      },
      // 保存节点参数
      saveConfig() {
        // 当前节点ID
        let nodeId = this.selectCell.id;

        // 当前节点详情
        let nodeData = this.dialogSaveForm.find(item => item.id == nodeId);

        // 查询不包含当前节点的表单配置数据，用于每次保存都是当前节点的最新配置
        let newConfigData = [];
        if(this.dialogSaveForm !== undefined) {
          newConfigData = this.dialogSaveForm.filter(function(item) { return item.id != nodeId; });
        }

        // 存储最新的配置数据
        let pushData = { id: nodeId, name: this.selectCell.attrs.label.tag, workingHours: 0, data: {} };

        // 根据当前节点的名称存储对应的表单数据
        switch (this.selectCell.attrs.label.tag) {
          case '贝叶斯优化':
            {
              pushData.workingHours = this.dialogForm.edit_BYSYH.workingHours;
              pushData.data = this.dialogForm.edit_BYSYH;
            }
            break;
          case '复合机器人':
            {
              pushData.workingHours = this.dialogForm.edit_FHJQR.workingHours;
              pushData.data = this.dialogForm.edit_FHJQR;
            }
            break;
          case '反应釜开盖机':
            {
              pushData.workingHours = this.dialogForm.edit_KGJ.workingHours;
              pushData.data = this.dialogForm.edit_KGJ;
            }
            break;
          case '试管开盖机':
            {
              pushData.workingHours = this.dialogForm.edit_KGJ2.workingHours;
              pushData.data = this.dialogForm.edit_KGJ2;
            }
            break;
          case '物料定位台':
            {
              pushData.workingHours = this.dialogForm.edit_WLDWT.workingHours;
              pushData.data = this.dialogForm.edit_WLDWT;
            }
            break;
          case '精密天平':
            {
              pushData.workingHours = this.dialogForm.edit_JMTP.workingHours;
              pushData.data = this.dialogForm.edit_JMTP;
            }
            break;
          case '超声波清洗机':
            {
              pushData.workingHours = this.dialogForm.edit_CSBQXJ.workingHours;
              pushData.data = this.dialogForm.edit_CSBQXJ;
            }
            break;
          case '高通量配粉系统':
            {
              pushData.workingHours = this.dialogForm.edit_GTLPFXT.workingHours;
              pushData.data = this.dialogForm.edit_GTLPFXT;
            }
            break;
          case '移液配比系统':
            {
              pushData.workingHours = this.dialogForm.edit_YYPBXT.workingHours;
              pushData.data = this.dialogForm.edit_YYPBXT;
            }
            break;
          case '球磨机1':
            {
              pushData.workingHours = this.dialogForm.edit_QMJ1.workingHours;
              pushData.data = this.dialogForm.edit_QMJ1;
            }
            break;
          case '球磨机2':
            {
              pushData.workingHours = this.dialogForm.edit_QMJ2.workingHours;
              pushData.data = this.dialogForm.edit_QMJ2;
            }
            break;
          case '颚式破碎机':
            {
              pushData.workingHours = this.dialogForm.edit_ESPSJ.workingHours;
              pushData.data = this.dialogForm.edit_ESPSJ;
            }
            break;
          case '自动化电池封装机':
            {
              pushData.workingHours = this.dialogForm.edit_ZDHDCFZJ.workingHours;
              pushData.data = this.dialogForm.edit_ZDHDCFZJ;
            }
            break;
          case '陶瓷压片机':
            {
              pushData.workingHours = this.dialogForm.edit_TCYPJ.workingHours;
              pushData.data = this.dialogForm.edit_TCYPJ;
            }
            break;
          case '刷料机':
            {
              pushData.workingHours = this.dialogForm.edit_SLJ.workingHours;
              pushData.data = this.dialogForm.edit_SLJ;
            }
            break;
          case '坩埚转换位':
            {
              pushData.workingHours = this.dialogForm.edit_GGZHW.workingHours;
              pushData.data = this.dialogForm.edit_GGZHW;
            }
            break;
          case '管式炉':
            {
              pushData.workingHours = this.dialogForm.edit_GSL.workingHours;
              pushData.data = this.dialogForm.edit_GSL;
            }
            break;
          case '下装炉':
            {
              pushData.workingHours = this.dialogForm.edit_XZL.workingHours;
              pushData.data = this.dialogForm.edit_XZL;
            }
            break;
          case '固固测试平台':
            {
              pushData.workingHours = this.dialogForm.edit_GGCSPT.workingHours;
              pushData.data = this.dialogForm.edit_GGCSPT;
            }
            break;
          case '固液测试平台':
            {
              pushData.workingHours = this.dialogForm.edit_GYCSPT.workingHours;
              pushData.data = this.dialogForm.edit_GYCSPT;
            }
            break;
          case '电化学测试仪器':
            {
              pushData.workingHours = this.dialogForm.edit_DHXCSYQ.workingHours;
              pushData.data = this.dialogForm.edit_DHXCSYQ;
            }
            break;
          case 'XRD测试仪':
            {
              pushData.workingHours = this.dialogForm.edit_XRDCSY.workingHours;
              pushData.data = this.dialogForm.edit_XRDCSY;
            }
            break;
          case '自动化烘干机':
            {
              pushData.workingHours = this.dialogForm.edit_ZDHHGJ.workingHours;
              pushData.data = this.dialogForm.edit_ZDHHGJ;
            }
            break;
        }

        // 初次保存时可能会没有此参数, 添加异常处理, 再次保存时会正常执行
        try {
          // 减去当前节点的时长
          this.basicform.expectedWorkingHours -= parseInt(nodeData.workingHours);
        } catch {}

        // 将当前节点设置的 工作时长 添加至 预计工作时长 内
        this.basicform.expectedWorkingHours += parseInt(pushData.workingHours);

        // 保存最新配置
        newConfigData.push(pushData);
        this.dialogSaveForm = newConfigData;
      },
      // 删除节点参数
      delConfig() {
        try {
          // 获取节点ID
          let nodeId = this.selectCell.id;

          // 预计工作时长 减去当前节点设置的 工作时长
          let nodeData = this.dialogSaveForm.find(item => item.id == nodeId);
          this.basicform.expectedWorkingHours -= parseInt(nodeData.workingHours);

          // 获取排除当前节点的最新配置数据并保存
          let newConfigData = this.dialogSaveForm.filter(function(item){
            return item.id != nodeId;
          });
          this.dialogSaveForm = newConfigData;
          //console.log(this.dialogSaveForm);
        } catch (ex) {}
      },
      // 删除多个节点参数
      delManyConfig(cell) {
        for (let i = 0; i < cell.length; i++) {
          try {
            this.selectCell = cell[i];
            this.delConfig();
          } catch (ex) {}
        }
      },
      // 点击编辑更具不同的内容获取编辑数据
      editForm(cell) {
        if(this.selectCell) this.selectCell.removeTools();            // 删除修改线的工具
        this.selectCell = cell;                                       // 存储当前选中的节点数据

        // 编辑node节点
        if(cell.isNode() && cell.data.type && cell.data.type.includes('default')) {
          this.editTitle = this.$t('common.label.editNode');
          const body = cell.attrs.body || cell.attrs.rect || cell.attrs.polygon || cell.attrs.circle;
          this.form = {
            labelText: cell.attrs.label.text || '',
            fontSize: cell.attrs.label.fontSize || 14,
            fontFill: cell.attrs.label.fill || '',
            fill: body.fill|| '',
            stroke: body.stroke || ''
          }
          return this.editDrawer = true;
        }
        // 编辑图片节点
        if(cell.isNode() && cell.data.type && cell.data.type === 'otherImage') {
          this.editTitle = this.$t('common.label.editImgNode');
          const attrs = cell.attrs || { body:{fill: ''}, label: {text: '', fill: ''}, image:{xlinkHref: '', height:  80, width: 80} }
          this.form = {
            fill: attrs.body.fill,
            labelText: attrs.label.text,
            labelFill: attrs.label.fill,
            height: (attrs.image && attrs.image.height) || 80,
            width: (attrs.image && attrs.image.width) || 80,
            xlinkHref: (attrs.xlinkHref && attrs.image.xlinkHref) || 'https://gw.alipayobjects.com/zos/bmw-prod/2010ac9f-40e7-49d4-8c4a-4fcf2f83033b.svg'
          }
          return this.editDrawer = true;
        }
        // 编辑连线
        if(!cell.isNode() && cell.shape === 'edge') {
          this.editTitle = this.$t('common.label.editConnection');
          this.form = {
            label: (cell.labels && cell.labels[0]) ? cell.labels[0].attrs.labelText.text : '',
            stroke: cell.attrs.line.stroke || '',
            connector: 'rounded',
            strokeWidth: cell.attrs.line.strokeWidth || '',
            isArrows: cell.attrs.line.sourceMarker ? true : false,
            isAnit: cell.attrs.line.strokeDasharray ? true : false,
            isTools: false,
          }
          // 看连线上是否有label
          const edgeCellLabel = cell.labels && cell.labels[0] && cell.labels[0].attrs || false;
          if(this.form.label && edgeCellLabel) {
            this.labelForm = {
              fontColor: edgeCellLabel.labelText.fill || '#333',
              fill: edgeCellLabel.labelBody.fill || '#fff',
              stroke: edgeCellLabel.labelBody.stroke || '#555'
            }
          } else {
            this.labelForm = { fontColor:'#333', fill:'#FFF', stroke:'#555' };
          }
          return this.editDrawer = true;
        }
      },
      // 关闭编辑节点表单
      closeEditForm() {
        this.editDrawer = false;
        if(this.selectCell) this.selectCell.removeTools();
      },
      // 修改一般节点
      changeNode(type, value) {
        switch (type) {
          case 'labelText':
            this.selectCell.attr('label/text', value);
            break;
          case 'fontSize':
            this.selectCell.attr('label/fontSize', value);
            break;
          case 'fontFill':
            this.selectCell.attr('label/fill', value);
            break;
          case 'fill':
            this.selectCell.attr('body/fill', value);
            break;
          case 'stroke':
            this.selectCell.attr('body/stroke', value);
            break;
        }
      },
      // 修改图片节点
      changeImageNode(type, value) {
        switch (type) {
          case 'labelText':
            this.selectCell.attr('label/text', value);
            break;
          case 'labelFill':
            this.selectCell.attr('label/fill', value);
            break;
          case 'fill':
            this.selectCell.attr('body/fill', value);
            break;
          case 'xlinkHref':
            this.selectCell.attr('image/xlinkHref', value);
            break;
          case 'height':
            this.selectCell.attr('image/height', value);
            break;
          case 'width':
            this.selectCell.attr('image/width', value);
            break;
        }
      },
      // 修改边label属性
      changeEdgeLabel(label, fontColor, fill, stroke) {
        this.selectCell.setLabels([configEdgeLabel(label, fontColor, fill, stroke)]);
        if(!label) {
          this.labelForm = { fontColor: '#333', fill: '#FFF', stroke: '#555' }
        }
      },
      // 修改边的颜色
      changeEdgeStroke(val) {
        this.selectCell.attr('line/stroke', val);
      },
      // 修改边的样式
      changeEdgeConnector(val) {
        switch (val) {
          case 'normal':
            this.selectCell.setConnector(val);
            break;
          case 'smooth':
            this.selectCell.setConnector(val);
            break;
          case 'rounded':
            this.selectCell.setConnector(val, { radius: 20 });
            break;
          case 'jumpover':
            this.selectCell.setConnector(val, { radius: 20 });
            break;
        }
      },
      // 修改边的宽度
      changeEdgeStrokeWidth(val) {
        if(this.form.isArrows) {
          this.selectCell.attr({
            line: {
              strokeWidth: val,
              sourceMarker: {
                width: 12 * (val / 2) || 12,
                height: 8 * (val / 2) || 8
              },
              targetMarker: {
                width: 12 * (val / 2) || 12,
                height: 8 * (val / 2) || 8
              }
            }
          })
        } else {
          this.selectCell.attr({
            line: {
              strokeWidth: val,
              targetMarker: {
                width: 12 * (val / 2) || 12,
                height: 8 * (val / 2) || 8
              }
            }
          })
        }
      },
      // 修改边的箭头
      changeEdgeArrows(val) {
        if(val) {
          this.selectCell.attr({
            line: {
              sourceMarker: {
                name: 'block',
                width: 12 * (this.form.strokeWidth / 2) || 12,
                height: 8 * (this.form.strokeWidth / 2) || 8
              },
              targetMarker: {
                name: 'block',
                width: 12 * (this.form.strokeWidth / 2) || 12,
                height: 8 * (this.form.strokeWidth / 2) || 8
              },
            }
          })
        } else {
          this.selectCell.attr({
            line: {
              sourceMarker: '',
              targetMarker: {
                name: 'block',
                size: 10 * (this.form.strokeWidth / 2) || 10
              },
            }
          })
        }
      },
      // 修改边的添加蚂蚁线
      changeEdgeAnit(val) {
        if(val){
          this.selectCell.attr({
            line: {
              strokeDasharray: 5,
              style: {
                animation: 'ant-line 30s infinite linear',
              }
            }
          });
        } else {
          this.selectCell.attr({
            line: {
              strokeDasharray: 0,
              style: {
                animation: '',
              }
            }
          });
        }
      },
      // 给线添加调节工具
      changeEdgeTools(val) {
        if(val) {
          this.selectCell.addTools(['vertices', 'segments'])
        }
        else {
          this.selectCell.removeTools();
        }
      },
      // 删除节点
      handlerDel() {
        this.$confirm(this.$t('common.prompt.info.isConfirmDelnode'), this.$t('common.dialog.tip'), {
          confirmButtonText: this.$t('common.dialog.confirm'),
          cancelButtonText: this.$t('common.dialog.cancel'),
          type: 'warning'
        }).then(() => {
          const cells = this.graph.getSelectedCells();  // 获取选中的节点
          if (cells.length) {
            this.graph.removeCells(cells);              // 清空选中的节点
            this.form = {};                             // 清空表单内容
            this.editDrawer = false;                    // 关闭组件编辑区
            this.delManyConfig(cells);                  // 删除节点配置
            this.resetLocation();                       // 重新调整布局
            this.reStatisticsExpectedWorkingHours();    // 重新统计预计工作时长
            this.$message({type: 'success',message: this.$t('common.prompt.success.del')});
          }
        }).catch(() => {})
      },
      // 导出
      handlerSend() {
        const {cells: jsonArr} = this.graph.toJSON();
        let graphData = JSON.stringify(jsonArr);
        this.$emit('finish', graphData);
        //console.log(graphData);

        if(graphData === "[]") {
          this.$message({type: 'error',message: this.$t('common.prompt.error.configureAtLeastOneNode')});
          return;
        }

        // 获取节点配置顺序数据
        let nodeData = [];
        jsonArr.filter(function(item) {
          try {
            if (item.data.type = "otherImage") {
              nodeData.push({
                NodeId: item.id,
                NodeName: item.attrs.label.tag,
                NodeCreateTime: item.createTime,
              });
            }
          } catch { }
        });
        //console.log(nodeData);

        // 获取全部配置参数
        let ids = jsonArr.map(item => { return item.id; });
        let nodeConfig = this.dialogSaveForm.filter(function(item) { return ids.includes(item.id); });
        //console.log(nodeConfig);
        //return;

        // 校验必填项
        this.$refs["form"].validate(async (valid) => {
          // 如果表单校验成功时执行
          if (valid) {

            // 打开加载框
            this.isLoading = true;

            let data = {};

            // 如果ID为空则为新增，否则为编辑
            if (this.templateid == undefined) {
              data = {
                ExpTemplateData: {
                  Type: this.basicform.type,
                  Name: this.basicform.templateName,
                  Number: this.basicform.number,
                  Sort: 1,
                  Remark: ""
                },
                ExpTemplateConfigData: {
                  Type: this.basicform.taskType,
                  ExpectedWorkingHours: parseInt(this.basicform.expectedWorkingHours),
                  FlowPathConfig: graphData,
                  Remark: ""
                },
                NodeConfigData: nodeConfig,
                ExpConfigNodeData: nodeData,
              };

              // // 测试：查看已生成的表单内容，不提交数据
              // console.log(data)
              // return;

              await SubmitExperimentTemplate(data).then(res => {
                this.isLoading = false;   // 关闭加载框
                if (res.success) {
                  this.$message({type: 'success', message: this.$t('common.prompt.success.submit')});
                  this.cancel();
                } else {
                  this.$message({type: 'error', message: res.msg});
                }
              });
            } else {
              // 如果当前实验模板ID不为空，实验流程ID为空时，代表当前模板不存在此类型的流程数据，直接新增流程
              if (this.templateid != undefined && this.id == "undefined") {
                data = {
                  ExpTemplateConfigData: {
                    ExpTemplateId: this.templateid,
                    Type: this.basicform.taskType,
                    ExpectedWorkingHours: parseInt(this.basicform.expectedWorkingHours),
                    FlowPathConfig: graphData,
                    Remark: ""
                  },
                  NodeConfigData: nodeConfig,
                  ExpConfigNodeData: nodeData,
                };

                // // 测试：查看已生成的表单内容，不提交数据
                // console.log(data)
                // return;

                await SubmitExperimentTemplateConfig(data).then(res => {
                  this.isLoading = false;   // 关闭加载框
                  if (res.success) {
                    this.$message({type: 'success', message: this.$t('common.prompt.success.submit')});
                    this.cancel();
                  } else {
                    this.$message({type: 'error', message: res.msg});
                  }
                });
              } else {
                data = {
                  ExpTemplateData: {
                    Id: this.templateid,
                    Type: this.basicform.type,
                    Name: this.basicform.templateName,
                    Number: this.basicform.number,
                    Sort: 1,
                    Remark: ""
                  },
                  ExpTemplateConfigData: {
                    Id: this.id,
                    Type: this.basicform.taskType,
                    ExpectedWorkingHours: parseInt(this.basicform.expectedWorkingHours),
                    FlowPathConfig: graphData,
                    Remark: ""
                  },
                  NodeConfigData: nodeConfig,
                  ExpConfigNodeData: nodeData,
                };

                // // 测试：查看已生成的表单内容，不提交数据
                // console.log(data)
                // return;

                await SubmitExperimentTemplate(data).then(res => {
                  this.isLoading = false;   // 关闭加载框
                  if (res.success) {
                    this.$message({type: 'success', message: this.$t('common.prompt.success.submit')});
                    this.cancel();
                  } else {
                    this.$message({type: 'error', message: res.msg});
                  }
                });
              }
            }
          }
        });
      },
      // 返回事件
      cancel() {
        this.$router.back();
      },
    }
  }
</script>
<style lang="scss">
@keyframes ant-line {
  to {
    stroke-dashoffset: -1000
  }
}
</style>
<style lang="scss" scoped="scoped">
/*基本样式*/
.assembly-main {
  width: 140px;
  height: 140px;
  text-align: center;
  margin: 5px;
  border-style: solid;
  border-width: 2px;
  border-color: #f2f2f2;
  border-radius: 10px;
  box-shadow: 4px 4px 15px #f2f2f2;
}
.assembly-main img {
  width: 100px;
  height: 100px;
  padding: 2%;
  margin-top: 1%;
}

// 区域标题样式
.titie-bar {
  width: 4px;
  height: 32px;
  border-radius: 2px;
  background-color: rgba(61, 171, 175, 1);
  margin: 5px 0 5px 0;
}

.titie-bar span {
  color: #0A0A0A;
  width: 80px;
  font-size: 22px;
  line-height: 32px;
  white-space: nowrap;
  overflow-wrap: break-word;
  margin-left: 15px;
}

/*提示框基本样式*/
.dialog_div {
  ::v-deep .el-dialog__wrapper {
    .el-dialog {
      overflow: hidden;
      height: 40%;
      .el-dialog__body {padding: 30px 20px;}
      .el-dialog__header {padding: 0px;}
      .el-dialog__headerbtn {top: 5px;right: 5px;padding-top: 10px;}
      .el-dialog__headerbtn .el-dialog__close {color: #fff;height: 30px;width: 35px;}
      .el-dialog__headerbtn .el-dialog__close:hover {color: gray;}
    }
  }
}

/*对话框框架*/
::v-deep .el-card__body {padding: 10px;}
::v-deep .el-dialog__headerbtn {font-size: 22px; margin-top: -8px;}
::v-deep .el-dialog__headerbtn .el-dialog__close {color: #FFF;}

/*空状态框架*/
::v-deep .el-empty__image {text-align: center;margin-left: auto;margin-right: auto;}
::v-deep .el-empty__description {color: #AAAAAA;}

.dialog-content {
  ::v-deep .el-row {
    margin-bottom: 20px;
    &:last-child {
      margin-bottom: 0;
    }
  }
  ::v-deep .el-col {border-radius: 4px;}
  ::v-deep .el-switch {margin-bottom: 3px;}
}

/*编辑器区域样式*/
.all{
  border-radius: 8px;
  overflow: hidden;
}
.antv-content{
  background: #fff;
  display: flex;
  overflow: hidden;
  position: relative;
  .antv-menu{
    width: 200px;
    border-right: 1px solid #d5d5d5;
    padding: 10px;
    h3 {padding: 10px;}
    li{
      padding: 10px;
      border-radius: 8px;
      border: 1px solid #555;
      background: #fff;
      margin: 5px 10px;
      font-size: 12px;
      display: flex;
      align-items: center;
      cursor: pointer;
      transition: all 0.5s ease;
      &:hover {box-shadow: 0 0 5px rgba($color: #000000, $alpha: 0.3);}
      i {font-size: 18px; margin-right: 10px;}
      strong {flex: 1;}
    }
  }
  .antv-wrapper{
    flex: 1;
    position: relative;
    .wrapper-canvas{position: relative; height: 800vh; min-height: 720px;}
    .wrapper-tips{
      padding: 10px;
      display: flex;
      align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      .wrapper-tips-item {
        span {padding-left: 10px;font-size: 12px;}
      }
    }
  }
}
i.icon-oval {display: inline-block; width: 16px; height: 10px; border-radius: 10px; border: 2px solid #555;}
i.icon-square {display: inline-block; width: 16px; height: 10px; border: 2px solid #555;}
i.icon-ysquare {display: inline-block; width: 16px; height: 10px; border-radius: 4px; border: 2px solid #555;}
i.icon-rhombus {display: inline-block; width: 10px; height: 10px; border: 2px solid #555; transform: rotate(45deg);}
i.icon-rhomboid {display: inline-block; width: 10px; height: 10px; border: 2px solid #555; transform: skew(-30deg);}
i.icon-circle {display: inline-block; width: 16px; height: 16px; border-radius: 16px; border: 2px solid #555;}
.edit-main{
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  border-left: 1px solid #f2f2f2;
  box-shadow: 0 -10px 10px rgba($color: #000000, $alpha: 0.3);
  padding: 20px;
  background: #fff;
  box-sizing: border-box;
  .edit-main-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    h3 {flex: 1;}
    i {
      cursor: pointer;
      font-size: 20px;
      opacity: 0.7;
      &:hover{opacity: 1;}
    }
  }
  .form-main {
    padding: 20px 0;
    .label-style {
      background: #f2f2f2;
      padding: 0 10px;
      p {display: flex; align-items: center; font-size: 12px;}
    }
  }
  .edit-btn {}
  .see-box{
    padding: 20px;
    background: #f2f2f2;
    h5 {padding-bottom: 10px;}
    .see-item {padding: 10px 30px; border: 2px solid #333; text-align: center;}
  }
}
.wrapper-btn {
  text-align: center;
  padding: 10px;
  button {width: 100%;}
}
</style>
